现有的Eclipse项目使用Maven,但不知道JUnit。我应该/可以将JUnit集成到现有项目中,还是应该创建一个专门用于JUnit的新项目,或者有更好的选择吗?
另一个答案给出了如何将JUnit添加到项目设置中的技术答案。
但很抱歉,真正的答案是:不要将单元测试添加到其他项目中。创建一个新的。
进行开发时最重要的规则之一是单一责任原则。任何类/方法/xyz都应该做一件事。
换句话说:你现有的eclipse项目有责任为你的“产品”提供上下文。为测试提供上下文是不同的责任。
除此之外,你应该始终遵循“最佳实践”。最佳实践是在同一个项目中没有测试和生产代码。
你看,你绝对不希望你的测试源代码和你的产品代码位于同一个目录中。因此,您有两个项目,它们都可以使用相同的包,但它们的源代码位于不同的文件夹中!
(你不想这样做的原因是:你只想让你的测试依赖于你的生产代码。但是当文件位于同一个目录中时,你可能会无意中在另一个方向上创建依赖关系。)
通过在pom中包含以下依赖项,可以将JUnit5添加到该项目中。xml
:
<properties>
<junit.jupiter.version>5.0.1</junit.jupiter.version>
<junit.platform.version>1.0.1</junit.platform.version>
</properties>
<!--
JUnit5 dependencies:
* junit-jupiter-api: for writing JUnit5 tests
* junit-jupiter-engine: for running JUnit5 tests
* junit-platform-xxx: the foundation for JUnit5
* (Optionally) you might want to include junit-vintage-engine for running JUnit4 tests
-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>${junit.platform.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>${junit.platform.version}</version>
<scope>test</scope>
</dependency>
要使Maven Surefire能够运行JUnit5测试,只需在pom中包含以下插件定义。xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin.version}</version>
<configuration>
<excludes>
<exclude>**/MongoPopulatorTool.java</exclude>
</excludes>
</configuration>
<dependencies>
<!-- integrates JUnit5 with surefire -->
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${junit.platform.version}</version>
</dependency>
<!-- ensures that a JUnit5-aware test engine is available on the classpath when running Surefire -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.jupiter.version}</version>
</dependency>
</dependencies>
</plugin>
最后,为了使Eclipse的测试运行程序能够运行JUnit5测试,您必须运行Eclipse。1a(4.7.1a)发行版(或更高版本),请查看Eclipse文档。
我正在构建我的第一个Android应用程序,我在github上发现了一个java项目,我想和我的应用程序集成在一起。我是否可以手动将java文件添加到我的android项目目录 app->java->com.example.appname java客户机的src->main目录有一个嵌套的文件结构,所以我不确定这是否会引起问题。 我已经尝试了本文中的解决方案,但我没有看到步骤2中提供的选项如何将现
问题内容: 如果我已有使用和容器的Web应用程序。将Akka集成到其中的正确方法是什么? 就像我将要拥有的并且彼此交流一样。开始使用这些参与者的切入点是什么?(例如:1.放到那里2.更改配置3.获取对actor的引用) 我找到了http://doc.akka.io/docs/akka/2.2-M3/general/configuration.html,但是他没有给我胶水。只想获取集成的真实示例。
问题内容: 如何在Eclipse中将现有的Java项目添加到git中? 我注意到在创建项目时,有一个选项可以添加到源代码管理中,但是对于现有项目,我找不到此选项。这是可以从Eclipse中的git插件实现的,还是必须从命令行完成?(我使用的是Mac) 问题答案: 另一种方法(我发现内置的Eclipse工具有时很挑剔): 打开您的终端 导航到您的项目目录 键入以创建存储库 假设该文件夹中已经有文件,
如何在这个现有项目中使用Maven? 此外,当我尝试添加Maven Project并在步骤“Select a Archetype”时,所有显示的原型都有版本“Release”。当我在这一步中单击Next时,Eclipse变得没有响应。它使用内存甚至没有增加。
问题内容: 对于正在执行的项目,我们正在考虑使用Eclipse的Maven插件来自动化我们的构建。现在,该过程比应该的要复杂得多,并且我们希望Maven可以将事情简化为一键式构建。 我的问题是,是否存在使用Maven插件将现有的Eclipse Java项目转换为Maven项目的向导或自动导入器?或者我应该创建一个新的Maven项目并手动复制所有源文件,库等。 问题答案: 如果您只想创建一个默认的P
如何将eclipse中现有的java项目添加到Git中? 我注意到,在创建项目时,有一个选项可以添加到源代码管理中,但我在现有项目中找不到这个选项。这是否可以从eclipse中的git插件实现,或者必须从命令行完成?(我在用Mac)