8.11. 运行测试环境

./script/solar run-tests test-specification [--only] [--stop-on-fail] [--verbose]

这条命令为指定的测试运行测试用例环境,下面将介绍不同的测试类型。

正常情况下,测试将会一次性执行完毕,除非你遇到了一些戏剧性的错误。执行完毕后,命令将会报告测试失败次数,被标记为todo的次数,被跳过的次数以及成功的次数。有时候你会想要在遇到第一次失败时停止测试,你可以通过向命令传递--stop-on-fail选项来达到这个目的。

测试结果是以Test Anything格式组织的,因此刚开始使用时有点繁琐。作为诊断和调试辅助,你可以向命令工具传递--verbose选项以看到更多的输出,包括失败断言的实际和预期值。

8.11.1. 运行所有方法

./script/solar run-tests Test_Class

当你输入run-tests Test_Class命令时,它会运行Test_Class::test*()的所有方法,然后会递归地进入Test_Class子目录并且运行目录中所有的类和方法。

如果你不想递归地执行子目录中的测试类和方法,那么给命令传递--only选项。

8.11.2 运行某些方法

./script/solar run-tests Test_Class::testPrefix

有时候,在一个测试环境中,你只想运行某些测试方法。你可以向命令传递具体的测试类名和方法名,例如:run-tests Test_Class::testPrefix

事实上,命令中的::testPrefix是一个通配符,它会匹配所有以testPrefix开头的测试方法。

例如,我们假设你有一些测试方法:testFootestFoo9testFooBar和其他一些不以testFoo开头的方法。如果你输入run-tests Test_Class::testFoo命令,它将会仅执行上面3个testFoo*方法。

这个命令同样会递归地执行子目录中的测试类和方法,如果你不想这样,那么给命令传递--only选项。