Ale*_*kov 6 javascript testing unit-testing yeoman intern
我继承了一个包含多个 JavaScript 文件的项目。他们每个人都有一堆功能;这些文件以 AMD 风格定义。
例如:
math.js
define([], function () {
return {
func1: function (a, b) {
return a + b;
},
func2: function (c, d) {
return c + d;
},
};
});
Run Code Online (Sandbox Code Playgroud)
我想在tests
文件夹中生成一个名为 ( math.js
)的新文件,该文件将包含框架tdd
样式的单元测试的样板代码intern
。
我使用了intern-generator
一个 Yeoman 生成器,它可以搭建脚手架并生成一个具有指定名称和路径的测试文件,但是,这个生成器不会让我创建引用 JS 文件中的函数的单元测试。
所以,对于math.js
源文件,我想创建一个测试文件(自动):
define(function (require) {
var tdd = require('intern!tdd');
var assert = require('intern/chai!assert');
var math = require('src/app/math');
tdd.suite('Suite name', function () {
tdd.test1('Test foo', function () {
math.func1('breaks');
});
tdd.test('Test bar', function () {
math.func2('breaks');
});
});
});
Run Code Online (Sandbox Code Playgroud)
这样,我可以从预先创建的所有单元测试文件开始,并且我知道我的所有单元测试最初都会中断,我会让它们一一通过。此外,通过这种方式,我可以确保将源脚本文件中的所有函数都放入测试中。
当然,我想为我的所有源 .js 文件生成这些测试 .js 文件。是否有任何生成器或库/脚本可以让我这样做?