我想在基于Protractor的测试中使用数据提供程序来为多组数据运行相同的测试。我希望它与testng数据提供程序非常相似。
答案 0 :(得分:2)
我认为这是您使用Protractor的特定测试框架的责任(例如Jasmine,Mocha,...)。
AFAIK这些框架没有参数化测试支持。但是在我们的测试中,我们这样做了,它对我们非常有用:
var testCases = [
{ param1: 'testcase1Param1', param2: 'testCase1Param2' },
{ param1: 'testcase2Param1', param2: 'testCase2Param2' },
];
/*jshint -W083 */ //Disable warning for function created inside loop
//this is parametrized test and it's better readable this way.
testCases.forEach(function (testCase){
describe('for test case: param1" ' + testCase.param1 +
' and param2: "' + testCase.param2 + '"', function(){
//do your testing
}
}
修改强>
评论中存在如何将参数保存在单独文件中的问题。这可以归结为测试套件配置以及它如何处理模块化。到目前为止,我看到了这些方法:
<script>
HTML标记在测试类之前包含测试用例文件。看看这里:http://jasmine.github.io/2.0/introduction.html#section-Standalone_Distribution Karma可以与各种测试框架和模块系统集成。因此,如果你想要一些其他风格的处理模块(例如CommonJs),你可以使用Karma轻松完成。