我正在 Codewars 上创建套路。它的目标是使 Player 具有某些属性和值。 这是完整的工作解决方案,
function Player(name, position, age, dribbling, pass, shoot) {
this.name = name;
this.position = position;
this.age = age;
this.dribbling = dribbling;
this.pass = pass;
this.shoot = shoot;
}
var myPlayer = new Player('Player', 'Right Winger', 25, 75, 90, 65);
这是我必须提供的测试用例,以验证完整的工作解决方案,以便发布 Kata,
describe('Player class', function () {
it('should create a Player', function (){
var myPlayer = new Player()
Test.assertEquals(myPlayer.name, 'Player')
Test.assertEquals(myPlayer.position, 'Right Winger')
Test.assertEquals(myPlayer.age, 25)
Test.assertEquals(myPlayer.dribbling, 75)
Test.assertEquals(myPlayer.pass, 90)
Test.assertEquals(myPlayer.shoot, 65)
})
})`
这是我运行“验证解决方案”按钮时得到的结果,
Player class
should create a Player
Expected: Player, instead got: undefined
Expected: Right Winger, instead got: undefined
Expected: 25, instead got: undefined
Expected: 75, instead got: undefined
Expected: 90, instead got: undefined
Expected: 65, instead got: undefined
0 Passed
6 Failed
0 Errors
我做错了什么?
最佳答案
这里你没有传递任何东西
var myPlayer = new Player()
这就是为什么 myPlayer
的每个属性都是 undefined
试试这个
var myPlayer = new Player('Player', 'Right Winger', 25, 75, 90, 65);
Test.assertEquals(myPlayer.name, 'Player');
Test.assertEquals(myPlayer.position, 'Right Winger');
Test.assertEquals(myPlayer.age, 25);
Test.assertEquals(myPlayer.dribbling, 75);
Test.assertEquals(myPlayer.pass, 90);
Test.assertEquals(myPlayer.shoot, 65);
关于javascript - Javascript 测试中的“未定义”结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33450619/