【问题标题】:Does Mocha offer the option to parameterize tests "@Theory" style?Mocha 是否提供参数化测试“@Theory”样式的选项?
【发布时间】:2018-10-19 01:29:12
【问题描述】:

JUnit 和 N/XUnit 都使我们能够对仅因输入值和预期结果不同的测试进行参数化。换句话说,我们可以静态定义测试数据集(输入 + 预期结果),并让单个测试执行并验证每个输入集的结果。我们可以在 JS 中使用至少两个实用程序来做同样的事情。

但是,对于 Java 和 .Net,我们可以更加概括测试,而不是测试特定值,我们可以使用理论(“@Theory”和“[理论]”)。

JS 中有什么实用程序可以在编写测试时实现这种抽象级别?

【问题讨论】:

  • 在 javascript 中使用 async.each 进行参数化测试 caolan.github.io/async/docs.html#each>

标签: javascript testing mocha.js parameterized


【解决方案1】:

我想做类似的事情,只是通过创建一个带有输入/输出参数的数组并在循环中调用它来解决它。这只是一个基本示例,但我可能会继续努力,看看我能做到什么。

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);
    });
  });

【讨论】:

    猜你喜欢
    • 2010-12-12
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多