我发现很多关于测试咖啡馆的参数化测试/测试用例的介绍,但语法与我使用的语法完全不同。我猜他们是为了停产的付费版本。我怎样才能用免费版本做同样的事情?我不是在专门寻找用户角色,我想编写带有参数的一般测试。
你想做这样的事情吗? 这对我完美地工作
import { Selector } from 'testcafe';
fixture `Your fixture`
.page `http://some_url.com`
const testCases = [
{ name: 'name1', param: 'param1' },
{ name: 'name2', param: 'param2' }
...
];
for (const c of testCases) {
test(`Test ${c.name}`, async t => {
yourTestMethod(c.param)
});
}
通过使用JS和YAML的组合,可以添加额外的扭曲
import YamlTableReader, {fixtureData, TestData} from "./YamlTableReader";
var table = fixtureData `
| ID | N1 | N2 | Equals |
| Should Be equal | 1 | 1 | true |
| Shouldn't be equal | 1 | 2 | false |
| Shouldn't be equal | 1 | "hans" | false |
| Should be equal | hans | "hans" | true |
`;
table.forEach(row => {
test('Should be equal', t => {
row["Equals"] == (row["N1"] === row["N2"]));
}
});
可以在此处找到这方面的简单来源 https://github.com/deicongmbh/jasmine-param-tests