如何测试JavaScript代码



我需要帮助来测试我的Javascript代码。 我有一个名为 update 的方法,它将在屏幕上移动我的游戏中的敌人。

constructor(game, x, y, bulletLayer, frame) {
    super(game, x, y, 'enemy', frame);
    this.bounceTick = Math.random() * 2; }
update() {
    this.bounceTick += .02;
    this.y += Math.sin(this.bounceTick) * 1;
} 

在为它编写测试时,这就是我试图做的。

it("moves position correctly", function() {
this.bounceTick = 2;
enemy.update();
assert.equal(Math.sin(this.bounceTick) *1);
 });

这是我得到的错误 - 断言错误:预期 NaN 等于未定义。

我将如何为更新代码编写测试以确保我的敌人正确移动?我知道我应该将 bounceTick 设置为一个固定数字,因为在类中它被计算为 Math.random(( * 2

错误消息的原因是您只传递一个参数来assert.equal(Math.sin(this.bounceTick) *1);该函数需要两个参数 - 它是assert.equal的,这意味着您希望它查看两件事并查看它们是否相等。错误消息中的undefined指示缺少第二个参数。消息中的NaN表示您对Math.sin()的调用返回了一个无法识别为数字的错误值。

此外,您很难

测试代码的这一方面,因为您开始bounceTick是随机值。我写了一个类似的应用程序,精灵在屏幕上移动。我不会像你在这里做的那样用笔试来测试它们;我只是看着他们在屏幕上移动,然后决定它看起来是否正确。

我不知道有什么有效的方法来测试它,因为你的精灵将遵循的路径,以及它们的起始位置,是不可预测的。

最新更新