kra*_*ady 5 javascript testing parameterized mocha.js
JUnit 和 N/XUnit 都使我们能够参数化测试,这些测试仅因输入值和预期结果而异。换句话说,我们可以静态定义测试数据集(输入 + 预期结果),并让单个测试执行并验证每个输入集的结果。我们可以使用至少两个实用程序在 JS 中做同样的事情。
但是,对于 Java 和 .Net,我们可以进一步泛化测试,而不是测试特定值,我们可以使用理论(“@Theory”和“[Theory]”)描述生成输入数据的规则并动态生成测试数据分别)。
JS 中有什么实用程序可以在编写测试时实现这种抽象级别?
小智 6
有点晚了,但我想做类似的事情,只是通过创建一个带有输入/输出参数的数组并在循环中调用它来解决。这只是一个基本的例子,但我可能会继续研究它,看看我能做些什么。
describe('Arrow', () => {
const theories = [
[undefined, "left-arrow", "<"],
["left", "left-arrow", "<"],
["right", "right-arrow", ">"]
];
theories.forEach(([dir, className, arrow]) => {
it(`should render the correct arrow given ${dir} direction`, () => {
const wrapper = shallow(<Arrow dir={dir} onClick={jest.fn()} />);
expect(wrapper.hasClass(className)).toEqual(true);
expect(wrapper.text().toEqual(arrow);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |