2014-10-27 68 views
1

我是CS硕士研究生。在我的研究中,我用Java编写了许多课程项目。很快我会毕业。当我探索一些github项目时,我经常发现人们组织他们的项目为/main/test。我从来没有以这种方式组织它,即我总是有我的源代码文件没有任何测试目录。我认为该文件夹通常包含我认为称为“测试用例”的内容。哪里可以学习编写测试用例?

由于我很快就会找到工作,所以我想了解一下生产质量的代码。

我的问题:

  • 为什么人们往往有该文件夹?它包含什么?

  • 你能否给我提供一个关于在java中进行测试的良好教程的链接?即如何做到这一点?简而言之,我想了解那个/tests/文件夹的想法。

+0

您需要有关单元测试的信息,而不是测试用例。 http://java.dzone.com/articles/junit-tutorial-beginners – 2014-10-27 19:28:54

回答

3

我经常发现人们组织他们的项目为/主/测试

这是一个品味的问题。不是100%肯定的,但至少maven项目有这样的组织。

Maven: Introduction to the Standard Directory Layout,这将是该项目的布局:

src 
    main 
    java <-- your Java source code 
    resources 
    filters 
    config 
    scripts 
    webapp 
    test 
    java <-- your unit tests for Java 
    resources 
    filters 
    it 
    assembly 
    site 

为什么人们往往有该文件夹?它包含什么?

通常,人们编写测试用例来覆盖代码并检查代码是否按预期工作。这被称为Code Coverage。代码覆盖率也可用作回归测试,以防有人对代码进行更改以进行代码重构等增强功能。

你会发现他们的测试用例通常是Unit Testing。根据项目的类型,您也可以找到Integration Tests

还有Test Driven Development, or TDD,这是一个实践,其基础是写入测试用例,然后再编写真实代码。

你能否给我提供一个关于在java中测试的练习的好教程的链接?

这是该网站的主题。网上有很多关于这个的教程。

2

我没有为我的单独的文件夹,但通常人们保持其Unit Tests在该文件夹中。单元测试通常会设置“假”数据来测试给定的类,以便开发人员可以轻松调试任何问题。

0

人们提供a/test文件夹的原因是为他们的项目包含单元测试。

真的有很多测试Java的方法,但JUnit是一种非常常用的测试方法。

0

为您的代码编写测试是一种很好的做法。从写作Unit Tests开始。我发现this tutorial非常有用。编写测试可确保您的代码按预期行事,测试角落案例并在将来添加新代码不会破坏现有功能。

还有一些嘲讽框架,如JMockMockito,可以使您的方法的写作存根和驱动程序变得简单。

更令人感兴趣的是,人们在编写实际实现之前更喜欢编写测试。这种方法被称为Test Driven DevelopmentExtreme Programming。首先编写测试确保已经有一个准备代码或伪代码来记录这些方法。