尝试学习一些js和mocha,并确信我做的事情从根本上是错误的。例如:
产品型号:
var Product = function (sku) {
this.sku = sku;
};
Product.prototype.getSku = function() {
return this.sku;
}
module.exports = {Product: Product};
和我的测试:
var productLib = require('../../model/Product.js');
var assert = require('assert')
describe("Product", function() {
describe('#getSku()', function() {
var product = new productLib.Product('test_sku');
it('should have an getSku method', function() {
assert.equal(typeof product.getSku, 'function');
});
it('should return the loaded sku', function() {
assert.equal(product.getSku(), 'test_sku');
});
});
});
在产品模型的结构和导出方面,这是否正确?这似乎是错的,但我必须这样做,以便在测试中我能做到:
var product = new productLib.Product('test_sku');
并断言sku设置正确。
答案 0 :(得分:1)
如果您正在提出要求,那么您设置模块的方式绝对没有错。我看到你唯一可以改变的可能就是你如何导出你的产品模型:
由此:
module.exports = {Product: Product};
对此:
module.exports = Product;
你会像这样使用:
var ProductModel = require('../../model/Product');
var model = new ProductModel(...);