文章目录
本文译自Unity/docs/UnityHelperScriptsGuide.md,以及自己使用的总结。
Unity的官网:ThrowTheSwitch.org。
获取最新版本的Unity,可以访问:ThrowTheSwitch/Unity。
一、朋友的友情帮助
有时候,一个真正高效的C程序员所需要的是一些非C语言的东西。Unity项目包含了一些Ruby脚本,可以让你的生活变得简单一点(注:使用Unity更加方便),它们完全是可选的。如果你选择使用它们,你得需要Ruby环境,安装最新版本的Ruby,它就可以工作了。你可以在ruby-lang.org找到Ruby。
1.1 generate_test_runner.rb
您是否厌倦了在测试文件中创建自己的‘main’函数?当你向测试套件添加一个新的测试用例时,是否经常忘记添加一个‘RUN_TEST’调用?你是否想使用CMock或其他高级附加组件,但又不想搞清楚如何创建自己的‘RUN_TEST’宏?
那就对了,我们为你准备了很棒的脚本!
generate_test_runner.rb脚本处理一个给定的测试文件:自动创建一个包含‘main’的、独立的测试文件,并扫描测试文件中的所有可执行的测试用例。有了generate_test_runner.rb脚本,所有你需要做的就是:只需要把生成的可执行runner添加到将要编译和链接的文件列表中即可!
这个脚本搜索您的测试文件,寻找以“test”或“spec”开头的无输入参数和无返回值的函数,它会把每一个满足这样条件的函数当做一个测试用例,并为它们创建一个测试套件。比如,下面代码包含三个测试用例:
void testVerifyThatUnityIsAwesomeAndWillMakeYourLifeEasier(void)
{
ASSERT_TRUE(1);
}
void test_FunctionName_should_WorkProperlyAndReturn8(void) {
ASSERT_EQUAL_INT(8, FunctionName());
}
void spec_Function_should_DoWhatItIsSupposedToDo(void) {
ASSERT_NOT_NULL(Function(5));
}
你可以通过几种方式来运行这个脚本,第一种是命令行方式:
ruby generate_test_runner.rb TestFile