企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
标准库提供了一个非常小但是非常有用的包来编写和运行测试。包包含了4个类,两个对于开发者可能很感兴趣:TestCase 和TestRunner 。 # TestCase 和 TestRunner * * * * * 一个测试时类中一个单独的函数。这个函数必须有一个名称,由小写的字母 test 关键字开头。这个约定用来区别真正的测试和那些帮手函数。容器类必须继承 TestCase 类。它会继承一组函数用来编写测试。 |TestCase 方法|描述| | -- | -- | |setup():Void|这个函数在每个测试执行之前自动调用。在TestCase 类中,它的实现是空的;重载它必须设置希望测试运行的上下文。可能是打开一个需要的数据库连接,阅读一个配置文件等等| |tearDown():Void|这和 setup() 函数是互补的,它在测试执行之后运行。主要目的是清除测试遗留的内容(删除测试记录或者文件等等)。清理阶段是维护一个测试环境至关重要的一环,保证自动化的测试每次有一致的测试环境。| |assertTrue(b:Bool,?c:PosInfos):Void|这是测试的核心方法。在一个测试函数内部,通过 assert 方法做出断言。如果测试中的一个断言是错的,测试失败;否则测试就会通过。 b 参数必须为真表示断言通过验证。| |assertFalse(b:Bool, ?c:PosInfos):Void|和assertTrue方法相反,当为false的时候断言成功| |assertEquals<T>(expected:T,actual:T,?c:PosInfos):Void|对比期望的值和实际的值,如果两个值相等则通过,否则失败。| 所有断言方法接受最后的参数为可选参数 PosInfos;如前面介绍的,这是一个特定的参数,当省略时,会自动被编译器提供,是一个匿名对象,包括代码上下文信息在详细的位置。 包 haxe.unit 中其他重要的类是 TestRunner 。这个类执行继承自 TestCase 类的测试,搜集它们的结果,然后报告。每个测试类被添加到一个 TestRunner 实例,使用 add 方法。全部使用 run 方法执行。 haxe.unit 应用于任何Haxe支持的平台,结果会被报告为文本格式,和trace函数做的一样。