Как я могу написать параметризованные тесты с открытым исходным кодом testcafe?
Я нашел много введений в параметризованные тесты / тестовые случаи для тестового кафе, но синтаксис полностью отличается от того, который я использую. Я предполагаю, что они для прекращенной платной версии. Как я могу сделать то же самое с бесплатной версией? Я не ищу роли пользователей конкретно, я хочу писать тесты с параметрами в целом.
2 ответа
Решение
Вы хотите сделать что-то подобное? Это работает для меня отлично
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