gpt4 book ai didi

unit-testing - 如果单元测试相互依赖可以吗?

转载 作者:行者123 更新时间:2023-12-03 16:04:23 40 4
gpt4 key购买 nike

如果测试共享和改变一些常见状态,并且它们的逻辑取决于之前的测试怎么办?这是可接受的做法吗?
简单的代码例如(js):

describe('Some tests', () => {
const state = {
value: 'test'
addMe() {
this.value = this.value + ' me'
}
addPlease() {
this.value = this.value + ', please'
}
}

it('Some test', () => {
state.addMe()
expect(state.value).toBe('test me')
})

it('Another test', () => {
state.addPlease()
expect(state.value).toBe('test me, please')
})
})

最佳答案

通常,测试应设计为不相互依赖。这当然不是法律,而是一个好的实践,因为它为您的测试套件提供了许多不错的属性:

  • 借助独立测试,您可以在任何地方添加测试、删除测试、重新排序测试,而不会对其他测试产生意外影响。
  • 您可以单独改进测试,而不必考虑对其他测试的影响,例如简化测试的内部工作。
  • 无需查看其他测试即可理解每个测试,并且在测试失败的情况下更容易找到失败的原因。
  • 独立测试分别成功和失败。对于依赖测试,如果一项测试失败,后续测试也可能失败。
  • 您可以有选择地执行测试,例如在测试用例执行期间节省时间。
  • 关于unit-testing - 如果单元测试相互依赖可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52932506/

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