【发布时间】:2016-03-01 05:56:55
【问题描述】:
我正在使用 Robot Framework 来自动化基于 Linux 的设备的板载单元测试。
设备有一个目录/data/tests,其中包含一系列子目录,每个子目录都是一个测试模块,运行单元测试需要执行'run.sh'。例如:
/data/tests/module1/run.sh
/data/tests/module2/run.sh
我写了一个函数,将子目录名称收集在一个数组中,这是要执行的测试模块的列表。模块的数量每天都在变化。
@{modules}= SSHLibrary.List Directories in Directory /data/tests
然后是另一个函数(Module Test),它基本上是在元素列表上运行一个 FOR 循环,并在每个子目录中执行 run.sh,收集日志数据,并将其记录到 log.html 文件中。
我遇到的问题是,在创建 log.html 文件时,有一个名为 Module Test 的测试用例,在 FOR 循环下,每个元素(测试模块)都有一个“var”条目。在每个“var”条目下是模块执行的结果。
是否可以在 FOR 循环中为每个元素创建一个测试用例并针对它记录结果?现在,如果其中一个模块/元素失败,我没有得到准确的结果,我仍然可以通过 Module Test 测试用例。我想用日志记录测试用例模块 1、模块 2、...、模块 N,并为每个测试用例通过失败。鉴于模块的数量可能因执行而异,我无法创建静态测试用例,一旦确定了用于测试运行的模块数量,我需要能够动态创建测试用例。
非常感谢任何输入。
谢谢,
丹。
【问题讨论】:
-
您想在运行时、编译前或编译后动态创建代码(模块)?请包含一些功能模块测试的示例代码。为什么不能使用data driven tests for the framework?
标签: unit-testing testing robotframework testcase