gpt4 book ai didi

javascript - 在没有框架的情况下开始单元测试 JavaScript

转载 作者:行者123 更新时间:2023-11-30 00:28:37 25 4
gpt4 key购买 nike

我正在构建一个 JavaScript 应用程序(还没有框架,但我可能会将其移至 Backbone)。我已经创建了各种类,这里是一个例子,chart.js:

var moment = require('moment');
var chart = {
...
getAllMonths: function(firstMonth, lastMonth) {
var startDate = moment(firstMonth);
var endDate = moment(lastMonth);
var monthRange = [];
while (startDate.isBefore(endDate)) {
monthRange.push(startDate.format("YYYY-MM-01"));
startDate.add(1, 'month');
}
return monthRange;
},
setMonths: function() {
// get data via ajax
this.globalOptions.months = this.getAllMonths(data['firstMonth'], data['lastMonth']);

}
};
module.exports = chart;

我的文件结构如下:

index.js
src/
chart.js
form.js

我将这两个类导入 index.js 并使用 browserify 将这些脚本捆绑在一起,以便在我的网络应用程序中使用它们。

现在我想为 chart.jsform.js 添加测试。我添加了一个名为 test/ 的新目录和空测试文件:

index.js
src/
chart.js
form.js
test/
test_chart.js
test_form.js

我现在的问题是,为了测试 getAllMonths 函数,test_chart.js 应该是什么样子,以及我应该使用什么测试运行器。

我已经开始在 test_chart.js 中尝试以下内容:

console.log('hello world'); 
var chart = require('../src/chart');
var months = chart.getAllMonths('2014-02-01', '2015-03-01');
// assert if months.length != 14

但是如果我使用 node test/test_chart.js 运行它,我会收到有关 moment 模块导入失败的错误等(这些不应该使用原始 chart.js 模块?)。

其次,我可以使用什么测试运行器来进行这种简单的测试?我想要一些可以自动运行测试目录中的所有内容并提供断言等的东西。

最佳答案

我最终使用了 Mocha。这真的很简单:

npm install --save-dev mocha
mocha

轰!

它会自动在 test/ 文件夹中查找文件。

但仍然存在导入问题。

关于javascript - 在没有框架的情况下开始单元测试 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com