单元测试和集成测试的分离
Separation of unit tests and integration tests
我有兴趣创建完整的模拟单元测试,以及检查某些异步操作是否已正确返回的集成测试。我想要一个用于 unit
测试的命令和一个用于 integration
测试的命令,这样我就可以在我的 CI 工具中分别 运行 它们。最好的方法是什么? mocha 和 jest 等工具似乎只专注于一种做事方式。
我看到的唯一选择是使用 mocha 并在一个目录中有两个文件夹。
类似于:
__unit__
__integration__
然后我需要一些方法告诉 mocha 运行 src
目录中的所有 __unit__
测试,另一个告诉它 运行 所有__integration__
测试。
想法?
mocha 不支持标签或类别。你理解正确。
你必须创建两个文件夹,unit 和 integration,然后像这样调用 mocha
摩卡单位
摩卡整合
Mocha 支持目录、文件通配和测试名称grepping,可用于创建测试“组”。
目录
test/unit/whatever_spec.js
test/int/whatever_spec.js
然后 运行 测试目录中的所有 js
文件
mocha test/unit
mocha test/int
mocha test/unit test/int
文件前缀
test/unit_whatever_spec.js
test/int_whatever_spec.js
然后 运行 mocha 针对特定文件
mocha test/unit_*_spec.js
mocha test/int_*_spec.js
mocha
测试名称
在 mocha 中创建描述测试类型和 class/subject 的外部块。
describe('Unit::Whatever', function(){})
describe('Integration::Whatever', function(){})
然后 运行 带有 mochas“grep”参数的命名块 --grep
/-g
mocha -g ^Unit::
mocha -g ^Integration::
mocha
在使用测试名称时保持文件或目录分隔仍然很有用,这样您可以轻松区分失败测试的源文件。
package.json
将每个测试命令存储在 package.json scripts
部分,这样就可以很容易地 运行 使用 yarn test:int
或 npm run test:int
.
{
scripts: {
"test": "mocha test/unit test/int",
"test:unit": "mocha test/unit",
"test:int": "mocha test/int"
}
}
我有兴趣创建完整的模拟单元测试,以及检查某些异步操作是否已正确返回的集成测试。我想要一个用于 unit
测试的命令和一个用于 integration
测试的命令,这样我就可以在我的 CI 工具中分别 运行 它们。最好的方法是什么? mocha 和 jest 等工具似乎只专注于一种做事方式。
我看到的唯一选择是使用 mocha 并在一个目录中有两个文件夹。
类似于:
__unit__
__integration__
然后我需要一些方法告诉 mocha 运行 src
目录中的所有 __unit__
测试,另一个告诉它 运行 所有__integration__
测试。
想法?
mocha 不支持标签或类别。你理解正确。 你必须创建两个文件夹,unit 和 integration,然后像这样调用 mocha
摩卡单位 摩卡整合
Mocha 支持目录、文件通配和测试名称grepping,可用于创建测试“组”。
目录
test/unit/whatever_spec.js
test/int/whatever_spec.js
然后 运行 测试目录中的所有 js
文件
mocha test/unit
mocha test/int
mocha test/unit test/int
文件前缀
test/unit_whatever_spec.js
test/int_whatever_spec.js
然后 运行 mocha 针对特定文件
mocha test/unit_*_spec.js
mocha test/int_*_spec.js
mocha
测试名称
在 mocha 中创建描述测试类型和 class/subject 的外部块。
describe('Unit::Whatever', function(){})
describe('Integration::Whatever', function(){})
然后 运行 带有 mochas“grep”参数的命名块 --grep
/-g
mocha -g ^Unit::
mocha -g ^Integration::
mocha
在使用测试名称时保持文件或目录分隔仍然很有用,这样您可以轻松区分失败测试的源文件。
package.json
将每个测试命令存储在 package.json scripts
部分,这样就可以很容易地 运行 使用 yarn test:int
或 npm run test:int
.
{
scripts: {
"test": "mocha test/unit test/int",
"test:unit": "mocha test/unit",
"test:int": "mocha test/int"
}
}