我计划编写多个模拟的Web请求响应并将其本地存储为json。这是一个好习惯吗?我不使用以下间谍程序,因为我的json文件太长且不方便放入代码中
it('should send post params in request body', function() {
var params = { foo: 'bar' };
var expected = JSON.stringify(params);
var request = new PassThrough();
var write = sinon.spy(request, 'write');
this.request.returns(request);
api.post(params, function() { });
assert(write.withArgs(expected).calledOnce);
});
答案 0 :(得分:2)
单元测试的目的是快速从
获取含义:您阅读测试代码,即可立即了解它应该执行的操作。无需滚动浏览10个不同的文件(属于源代码的“测试”端)。
因此,通常的做法是编写尽可能独立的单元测试。因为 each 间接使您更难从1.转到2。
话虽如此,您仍然想编写一个人类可读的单元测试。测试中包含“太多” JSON数据将迅速降低可读性。
接下来的第二件事是:将JSON数据作为文件放置在与单元测试紧密相关的位置。
因此,长话短说:让单元测试依赖测试用例的外部信息不是理想的选择,但是有时这是不可避免的。