我刚开始用 javascript 进行开发,但在分离概念(js、node、buster...)方面仍然存在一些问题,所以如果问题不在正确的范围内,请原谅我。
我正在尝试开发一个 js 应用程序,并希望有一个测试驱动的方法。
这是我在 js 文件夹中定义的一个简单对象:
var Friend = (function(name, email){
console.log(name)
if (typeof(name) != "string") throw "Expected a string for name"
this.name = name;
this.email = email;
}());
module.exports = Friend(name, email);
在我的测试文件夹中,我想使用friend_test.js 对其进行测试
var buster = require("buster");
var Friend = require('/../js/friend');
buster.testCase("A normal Friend", {
"should have a name and a mail": function(){
var my_friend = new Friend("Georges", "georges@hotmail.com");
assert.equals(my_friend.name, "Georges");
assert.equals(my_friend.email, "georges@hotmail.com");
}
});
我在这里担心的是,如果我运行测试,朋友中不知道姓名和电子邮件,就像没有传递输入参数一样:
$ node test/friend-test.js
undefined
undefined
friend.js:4
if (typeof(name) != "string") throw "Expected a string for name"
^
Expected a string for name
我做错了什么?
谢谢,