我正在尝试在办公室使用Junit(JVM 1.4):我写了很多类扩展TestCase ,但我没有写任何类扩展TestSuite 。 问题是我不太了解 TestSuite 必须测试的内容:
包裹的公共合同(包裹的所有公共类别的所有公共方法) 例如:
public class TestPackageAAA extends TestSuite{
//...
public void testSomething{
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
}
//...
}
FirstClass和SecondClass存在于同一个包AAA中。
功能过程,翻译为未集成的单个类列表?
public class TestProcessBBB extends TestSuite{
//...
public void testSomething{
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
}
//...
}
将FirstClass作为名为BBB的用户进程的第一步(如webapp中的CRUD操作),将SecondClass作为同一进程的第二步等等(在此测试中,FirstClass和SecondClass不进行通信)。 / p>
您如何组织TestSuite?在第一种方式还是第二种方式?或者以另一种方式?
编辑: 我错了,因为我在示例中重复了相同的类名, ergo 令人困惑。 这是示例的配置:
SRC
|-->{package} **AAA**
|--->{class}FirstClass
|--->{class}SecondClass
|-->{package} **XYZ**
|-->{class}ThirdClass
测试
{package} **AAA**
|--->{class}TestFirstClass extends TestCase
|--->{class}TestSecondClass extends TestCase
|-->{package} **XYZ**
|-->{class}TestThirdClass extends TestCase
TestSuiteAAA(放置在测试目录的根目录中)是包测试中所有TestCase的组合.AAA
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
TestSuiteBBB(放置在测试目录的根目录中)是所有TestCase的一个组合部分,用于执行功能过程(例如:为电子商务网站的管理员发送预定的电子邮件)。 TestSuiteBBB调用FirstClass和ThirdClass的方法,每个类不调用其他类的方法。
testSuite.add(new TestFirstClass());
testSuite.add(new TestThirdClass());
JUnit允许我以两种方式进行(我现在在Eclipse中编写它们并运行):你更喜欢什么?
PS对于包结构的格式化抱歉:)
答案 0 :(得分:0)
抱歉,我不知道这是否真的能回答你的问题,但我发现很难理解你的问题。
Normaly你会在你的构建过程中拥有一个自己的测试目录。如果您使用Eclipse或Netbeans作为IDE,那么您将拥有一个用于源(src)的文件夹和一个用于测试的文件夹。我们在test和src文件夹中正常创建相同的包名称。
大多数工具链都会迫使您以这种方式组织测试。