javascript - 如何在 javascript/node 中动态生成测试用例?

标签 javascript node.js testing

Nose 测试框架(python)支持dynamically generating test cases at run-time (以下来自文档,导致五个不同的测试用例):

def test_evens():
    for i in range(0, 5):
        yield check_even, i, i*3

def check_even(n, nn):
    assert n % 2 == 0 or nn % 2 == 0

如何使用 mocha 或 qunit 等 javascript 框架实现此结果? (此时我不依附于任何特定的框架。)

我的用例是编写一个测试运行程序来监控外部服务器上的多个项目。我会提供一个资源 URL 列表。每个测试都会尝试轮询该资源并根据它找到的内容返回成功或失败。我有一个用python(使用nose)构建的原型(prototype),但如果可以的话,我想在node.js中实现。最终,这将包含在 CI 设置中。

最佳答案

是的,您可以使用 Mocha 动态创建带有案例的测试套件.我已经全局安装了 mocha npm install -g mocha 并且我使用 should .

var should = require('should');

var foo = 'bar';

['nl', 'fr', 'de'].forEach(function(arrElement) {
  describe(arrElement + ' suite', function() {
    it('This thing should behave like this', function(done) {
      foo.should.be.a.String();
      done();
    });
    it('That thing should behave like that', function(done) {
      foo.should.have.length(3);
      done();
    });
  });
});

关于javascript - 如何在 javascript/node 中动态生成测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465431/

相关文章:

Javascript Concat int 到 html id NaN

Javascript - 尝试使用 JS 将图像添加到幻灯片但不起作用?

javascript - 使用setInterval()在mysql数据库中自动更新时间

node.js - 回滚到以前版本的 NPM

node.js - Ghost 作为 npm 模块不提供 Assets 服务?

javascript - module.export 不导出文件,要在 main.js 中导入

Node.js fork 子返回消息限制,以及解决它的方法

c# - 计数排序算法,无法完美排序

php - 我应该使用 CodeIgniter 的单元测试类还是 PHPUnit/TOAST?

python - 使用数据库后端测试 REST API