【发布时间】:2020-01-30 00:43:01
【问题描述】:
考虑一个旧项目(在我看来很常见):
static/
js/
file1.js
file2.js
....
index.html
index.html
...
<script type="text/javascript" src="js/file1.js"></script>
<script type="text/javascript" src="js/file2.js"></script>
...
file1.js:
// publicly exposed class/function
var Person = function(name, age) {
this.name = name;
this.age= age;
}
Person.prototype.getName = function() {
return this.name + '(' + this.age + ')'
}
file2.js:
// publicly exposed function
var createPerson = function(name) {
return new Person(name);
}
file1.js 和 file2.js 的内容只是用来显示问题的虚拟内容。
能不能写个表格测试一下?:
file2.test.js:
// require('./file2');
// require('./file2');
test('create', () => {
let person = createPerson('Tester', 40);
expect(person.getName()).toBe('Tester (40)');
});
我尝试搜索将窗口/全局附加变量转换为模块导出的 babel 插件,也尝试使用 Jest 'setupFiles' 配置属性。 也许 Jest 不适合这种情况,只是不想寻找另一个测试框架,因为我已经将 Jest 用于其他现代模块化应用程序。
如果不是如何测试这样的旧应用程序 JavaScript - 我知道我可以使用 Jasmine 或 Mocha 并在浏览器中运行测试,但希望这发生在 Node 环境中,以便最终可以使用 CI 进行处理?
【问题讨论】:
标签: javascript unit-testing jestjs