执行多个Mochaunit testing,取决于其他unit testing结果的结果

我正在为我正在编写的NodeJS应用程序编写一些unit testing,而且我有一个关于某些unit testing逻辑的问题。

比方说,应用程序为用户创build一个“组”,然后创build一些单独的用户,然后将用户添加到该组中,这些都是按照方式(MongoDB)的所有asynchronousfunction,

我想要有一个testing用例来testing这个组是否成功创build,然后是一个用于testing用户创build的testing用例,然后是用户 – >帐户关联。

显然,如果组失败或者用户失败,那么执行用户 – >组关联unit testing就没有意义了。 我应该在unit testing中编写一些逻辑来检查是否有错误(在expect(err).to.equal(null) ),如果它为null,那么执行另一个testing用例? 这是对我来说唯一的逻辑,但我没有看到在任何其他包中的任何unit testing的任何types的逻辑(我看了一些unit testing,看看是否可以发现类似的东西)

另外,如果我有多个与新创build的用户交互的testing用例,那么每个testing用例是否应该尝试创build一个用户,然后继续进行独特的testing? 或者我应该尝试构build它,以便与刚刚创build的用户进行交互(如果成功的话)

例如:

 describe('User', function () { describe( '.createUser', function() { it( 'Create user Foobar', function( done ) { // ... }) } ) describe( '.updateContacts', function() { it( 'Update contacts for user Foobar', function( done ) { // ... }) } ) describe( '.changePassword', function() { it( 'Change password for user Foobar', function( done ) { // ... }) } ) describe( '.deleteUser', function() { it( 'Delete user Foobar', function( done ) { // ... }) } ) }) 

应该将updateContactschangePassworddeleteUser都尝试创build自己的用户进行交互? 这似乎是有点多余..

希望我解释正确。

在unit testing中只使用摩卡方法之前和之后插入需要的文件进行testing的一个很好的做法,你也可以使用beforeEach和afterEach。 您可以使用像sinon和httpMocks这样的库来帮助您创build间谍来testingasynchronous服务的行为