我完全错过了什么。我确定这是一个简单的但不确定我哪里出错了。
所以这是我试图运行的测试:
var Robot = require("./robot-name");
describe("Robot", function() {
var robot;
beforeEach(function() {
robot = new Robot();
});
afterEach(function() {
robot = null;
});
it("has a name", function() {
expect(robot.name).toMatch(/^[A-Z]{2}\d{3}$/);
});
});
这就是我写的功能:
function Robot() {
var robotName = "CD123";
function randomName() {
return robotName;
}
return {
name: randomName
};
}
module.exports = Robot;
每当我在终端上运行测试时,我都会收到此消息
Expected Function to match /^[A-Z]{2}\d{3}$/
我不希望它说Expected "CD123" to match etc..
即使它没有通过测试吗?
感谢!!!!
答案 0 :(得分:1)
randomName
是一个返回字符串"CD123"
的函数。如果要将字符串分配给机器人的name
属性而不是函数本身,则必须调用该函数:
function Robot() {
var robotName = "CD123";
function randomName() {
return robotName;
}
return {
name: randomName()
^
};
}
module.exports = Robot;
要进行快速测试,请转到http://tddbin.com/#并将代码粘贴到那里。