Javascript 根据其他单元测试结果,执行多个Mocha单元测试

Javascript 根据其他单元测试结果,执行多个Mocha单元测试,javascript,node.js,unit-testing,mocha.js,Javascript,Node.js,Unit Testing,Mocha.js,我正在为我正在开发的NodeJS应用程序编写一些单元测试,我有一个关于一些单元测试逻辑的问题 假设应用程序为用户创建一个“组”,然后创建一些单独的用户,然后将用户添加到所述组,顺便说一下,这些都是异步函数(MongoDB) 我希望有一个测试用例来测试组是否成功创建,然后有一个单独的测试用例来测试用户创建,然后是用户->帐户关联 显然,如果组失败,或者用户失败,那么执行User->Group关联单元测试是没有意义的。我是否应该在单元测试中编写一些逻辑来检查是否存在错误(在expect(err).t

我正在为我正在开发的NodeJS应用程序编写一些单元测试,我有一个关于一些单元测试逻辑的问题

假设应用程序为用户创建一个“组”,然后创建一些单独的用户,然后将用户添加到所述组,顺便说一下,这些都是异步函数(MongoDB)

我希望有一个测试用例来测试组是否成功创建,然后有一个单独的测试用例来测试用户创建,然后是用户->帐户关联

显然,如果组失败,或者用户失败,那么执行User->Group关联单元测试是没有意义的。我是否应该在单元测试中编写一些逻辑来检查是否存在错误(在
expect(err).to.equal(null)
之后),如果它为null,则执行其他测试用例?这是唯一对我有意义的逻辑,但我在任何其他包的任何单元测试中都没有看到这种逻辑(我查看了一些单元测试,看看是否可以找到类似的东西)

另外,如果我有多个与新创建的用户交互的测试用例,那么这些测试用例中的每一个是否都应该尝试创建一个用户,然后继续进行自己的唯一测试?或者我应该尝试构建它,使其与刚刚创建的用户进行交互(如果成功的话)

例如:

描述('User',函数(){
描述('.createUser',函数(){
它('创建用户Foobar',函数(完成){
// ...
})
} )
描述('.updateContacts',函数(){
它('Update contacts for user Foobar',函数(完成){
// ...
})
} )
描述('.changePassword',函数(){
它('Changepasswordforuserfoobar',函数(done){
// ...
})
} )
描述('.deleteUser',函数(){
它('删除用户Foobar',函数(完成){
// ...
})
} )
})
updateContacts
changePassword
deleteUser
是否都应尝试创建自己的用户与之交互?这似乎有点多余


希望我的解释正确。

在单元测试中,只使用前后mocha方法插入测试所需的文档是一种很好的做法,您也可以使用前后方法。您可以使用诸如sinon和HttpMock之类的库来帮助您创建用于测试异步服务行为的间谍

我不确定这与问题有什么关系?我只是问让单元测试依赖于其他单元测试是好是坏的做法;如果多个测试用例围绕一个特定的数据库行(例如),那么该行是否应该插入到每个测试用例的开头?不管怎样,我现在明白你的意思了。我让它工作了,谢谢!