javascript - Javascript 测试中的“未定义”结果

标签 javascript object testing undefined

我正在 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/

相关文章:

angularjs - 使用 $location 和 $routeParams 等依赖项测试 Angular 指令

javascript - 将变量作为 IIFE 中的属性返回

javascript - 检查/更改背景位置

javascript - 如何使用 value 和 rel 属性检查选项元素更改的复选框

javascript - 打印 Jchartfx 图表

java - JUnit 测试错误 : java. lang.NoClassDefFoundError: org/junit/platform/commons/PreconditionViolationException

javascript - 以特定方式解析嵌套对象数组

c++ - 改变类对象数量的 vector

c# - 是否可以在 C# 中创建没有类的对象?

组件测试中的 Angular 单击选择选项