2016-12-27 52 views
0

所以我将我的单元测试合并到套件中。有人告诉我,如果我可以归类测试..JUnit套件的最佳实践?

所以我有一个会被归类为

LoginSuite 
- loginTest.java 
- registerUser.java 
- forgotPass.java 

然后,我有另一个叫做MessagesSuite具有以下的单元测试套件它

以下测试
MessageSuite 
- searchMessages.java 
- sendDirectMessage.java 
- sendChannelMessage.java 

对它进行分类是否合适,以便两个uni测试套件都被AllSuites文件包围?这样的

AllSuites 
- LoginSuite 
- MessageSuite 

如果使子套件,并把它们放在套件内是适当的,我该怎么做呢?目前,我有我的登录套件,看起来像下面这样:

package myPackages.loginSuite; 

import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 
import org.junit.runners.Suite.SuiteClasses; 


@RunWith(Suite.class) 
@SuiteClasses({ 
    forgotPassTest.class, 
    loginTest.class, 
    registerNewUserTest.class }) 
public class LoginSuite { 

} 

回答

0

如果你一直保持LoginSuitemyPackages.loginSuite包/文件夹,MessageSuitemyPackages.messageSuite包和全公寓式myPackages.allSuites包。然后,你的全公寓式代码应,如下所示:

package myPackages.AllSuites; 

import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 
import org.junit.runners.Suite.SuiteClasses; 

import myPackages.messageSuite.MessageSuite; 
import myPackages.loginSuite.LoginSuite; 

@RunWith(Suite.class) 
@SuiteClasses({LoginSuite.class, MessageSuite.class}) 


public class AllSuite { 
} 

在上面的代码,作为套件类(LoginSuiteMessageSuite)具有不同的位置,以下导入语句已添加:

import myPackages.messageSuite.MessageSuite; 
import myPackages.loginSuite.LoginSuite; 
+0

把它们放在一个文件夹中会不合适吗?我怎么会在文件夹中调用它们(o有问题正确导入它们在目录的另一个位置,因为我不太熟悉java) – Potion

+0

将它们放在包/文件夹中并不合适。可能没有必要为每个套件类创建一个单独的包(例如:* myPackages.loginSuite **),因为它可能导致包太多。但是,如果您想将套件或测试类放在单独的包中,则只需在您的类中放入适当的导入语句即可。我修改了我之前的回答,请参考它并让我知道你是否有任何疑问。 – Mahipal