gpt4 book ai didi

javascript - 我应该测试模块是否具有某些属性吗?

转载 作者:数据小太阳 更新时间:2023-10-29 04:23:28 24 4
gpt4 key购买 nike

过去两个月我一直在编写测试(用 JavaScript)。而且,我有检查模块是否具有某些属性的习惯。

例如:

// test/foo.js
const Foo = require('../lib/foo');
const Expect = require('chai').expect;

describe('Foo API', () => {
it('should have #do and #dont properties', () => {
Expect(foo).to.have.property('do')
.and.to.be.a('function');

Expect(foo).to.have.property('dont')
.and.to.be.a('function');
});
});
});

而且,我一直在想我是否在做正确的事情。只是想知道一些事情:

  1. 这个模式“正确”吗?

    • 是否被广泛使用?
    • 还有其他方法吗?
  2. 如果它不“正确”?

    • 为什么?
  3. 它甚至有意义吗?

    • 我的意思是,它是不必要的还是多余的?

最佳答案

不要测试类型。测试特定属性值是否符合预期值。

因此,不是“foo 是一个函数”,而是编写一个调用 foo 并期望特定结果的测试。

如果 foo 不是一个函数,您将生成一个错误并且测试将失败(这很好)。如果 foo 是一个函数,您将对该函数的行为进行适当的测试。

关于javascript - 我应该测试模块是否具有某些属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38154409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com