如何使用开源 testcafe 编写参数化测试?
How can I write parameterized tests with open source testcafe?
我找到了很多introductions to parameterized tests/ test cases的test cafe,但是语法和我用的完全不一样。我猜他们是针对已停产的付费版本。我怎样才能用免费版本做同样的事情?我不是专门寻找用户角色,我想编写带有一般参数的测试。
你想做这样的事情吗?
这非常适合我
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
我找到了很多introductions to parameterized tests/ test cases的test cafe,但是语法和我用的完全不一样。我猜他们是针对已停产的付费版本。我怎样才能用免费版本做同样的事情?我不是专门寻找用户角色,我想编写带有一般参数的测试。
你想做这样的事情吗? 这非常适合我
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