Tag: unit testing

将JUnit类与Maven Failsafe插件一起使用

我正在使用JUnit Categories将集成测试与unit testing分开。 Surefire插件配置有效 – 它会跳过使用我的标记接口IntegrationTest注释的测试。 但是,Failsafe插件不会选择集成测试。 我甚至尝试指定junit47提供程序,但是在集成测试阶段运行零测试。 这是pom.xml片段: org.apache.maven.plugins maven-failsafe-plugin 2.12 integration-test com.mycompany.test.IntegrationTest com.mycompany.test.UnitTest org.apache.maven.surefire surefire-junit47 2.12 这是日志的故障安全部分: [INFO] — maven-failsafe-plugin:2.12:integration-test (default) @ MyProject.war — [INFO] Failsafe report directory: /home/stoupa/MyProject/war/target/failsafe-reports [INFO] Using configured provider org.apache.maven.surefire.junitcore.JUnitCoreProvider ——————————————————- TESTS ——————————————————- Concurrency config is parallel=’none’, perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false Results : Tests run: 0, Failures: 0, Errors: 0, […]

如何比较JUnit测试用例中的文件?

我想在我正在研究的一个小项目上实现JUnit,因为我想了解一下它。 我阅读的教程都引用了具有特定输出的方法。 在我的情况下,我的输出是文件,我该怎么做? 任何简单的例子? 任何可以帮助我的方法? 这些文件是由void私有方法构建的原始文本文件。

unit testingOSGi组件

我目前正在考虑“如何设计一个OSGi组件,以便使用jUnit和Mockito等框架轻松编写测试” 。 由于OSGi强化DIP (依赖性倒置原则)并且通常存在注入器方法(例如,设置器),因此模拟捆绑间依赖性非常容易。 但是捆绑内部依赖呢? 例如,看看这个案例 。 现在我想将它带入一个OSGi上下文…我们希望在OSGi平台中提供任何类型的网络协议作为声明服务,并希望编写unit testing来测试直接与之交互的较低网络代码套接字对象。 如果我们将套接字创建重构为一个单独但仍然捆绑的内部POJO (Plain Old Java Object)类,我们应该如何将它注入协议实现? 在unit testing中,我们可以简单地使用setter方法但是谁会在我们的OSGi容器中执行此操作? 对测试类进行子类化并覆盖创建者方法只有在测试类未声明为final时才有效。

Mockito:如何validation一个方法只被调用一次,确切的参数忽略了对其他方法的调用?

在Java中使用Mockito如何validation方法只调用一次精确参数忽略对其他方法的调用? 示例代码: public class MockitoTest { interface Foo { void add(String str); void clear(); } @Test public void testAddWasCalledOnceWith1IgnoringAllOtherInvocations() throws Exception { // given Foo foo = Mockito.mock(Foo.class); // when foo.add(“1”); // call to verify foo.add(“2”); // !!! don’t allow any other calls to add() foo.clear(); // calls to other methods should be ignored // […]

Mockito:如何在不模拟所有参数的情况下轻松存根方法

我有一个方法我想要存根但它有很多参数。 我怎样才能避免模拟所有参数但仍然存在方法。 例如: //Method to stub public void myMethod(Bar bar, Foo foo, FooBar fooBar, BarFoo barFoo, …..endless list of parameters..);

测试读写文件系统的类时的unit testing最佳实践

我有一个类在磁盘上对文件进行操作。 更确切地说,它遍历一个目录,读取具有给定后缀的所有文件,并对数据执行一些操作,然后将它们输出到新文件。 关于如何为这门课程设计unit testing,我有点怀疑。 我想安装方法在/ tmp / somefolder中创建临时目录和临时文件,但我怀疑这是一个坏主意,原因有两个(开发人员使用Windows,文件权限等)。 另一个想法是模拟我用来编写和读取磁盘的类,通过使用接口封装类然后提供模拟对象,但它似乎有点混乱。 处理这样一个问题的标准方法是什么?

mockito ArrayList 问题

我有一个方法,我试图进行unit testing。 此方法将参数作为ArrayList并使用它执行操作。 我试图定义的模拟是: ArrayList mocked = mock(ArrayList.class); 这给出了[未经检查]未经检查的转换“警告。 ArrayList mocked = mock(ArrayList.class); 给我一个错误。 任何人都想关心我做错了什么?

使用当前时间条件处理unit testing

我正在为我正在进行的项目中的某些实用程序类设置unit testing,其中一个类(包含许可信息)有一个方法可以根据当前时间进行一些确定。 即许可证包含到期日期,许可证字符串validation该日期,但查看许可证是否过期的实际逻辑基于当前时间。 public boolean isValid() { return isLicenseStringValid() && !isExpired(); } public boolean isExpired() { Date expiry = getExpiryDate(); if( expiry == null ) { return false; } Date now = new Date(); return now.after( expiry ); } 所以,我不知道该怎么做,因为’new Date()’不是一个静态的标准。 我不应该费心去测试’isValid’,只是分别测试’isLicenseStringValid()’和’getExpiryDate()’函数吗? 我是否只是在测试中使用许可证密钥,并且过期时间过长,以便在到期时切换作业? 我是否尝试将’new Date()’模拟为某些’getCurrentTime()’方法,以便我可以假装它现在是什么时间? 其他人通常对时间条件的测试做些什么?

你如何模拟JavaFX工具包初始化?

[序言:道歉,这里有很多代码,其中一些代码可能与此问题无关,而某些代码对于理解问题可能缺失; 请评论,我会相应地编辑问题。] 环境:Ubuntu 14.10 x86_64; Oracle JDK 1.8u25。 unit testing库是TestNG,版本6.8.13; Mockito是版本1.10.17。 在我的GUI应用程序中,JavaFX称之为“控制器”的东西是非常被动的,因为这个“控制器”(我称之为“显示器”)真正做的唯一事情就是发送事件。 现在,当收到需要GUI更新的事件时,它是另一个类,我称之为视图,它负责更新GUI。 简而言之: 显示 – >演示者 – >视图 – >显示 我有两个unit testing: 显示 – >主持人; 主持人 – >查看。 所以,我在这方面已经被覆盖了(我可以改变显示器的优势,这就是我这样做的原因)。 但现在我尝试测试“视图 – >显示”部分; 我是SOL。 作为说明,这里是视图类: @NonFinalForTesting public class JavafxTreeTabView extends JavafxView implements TreeTabView { private final BackgroundTaskRunner taskRunner; public JavafxTreeTabView(final BackgroundTaskRunner taskRunner) throws IOException { […]

我们应该多久写一次unit testing?

最近我的导师在工作中向我介绍了测试驱动的开发方法,他鼓励我写一个unit testing,“它有意义”。 我理解为回归测试和refractoring提供整个unit testing套件的一些好处,但我确实想知道我们应该多长时间以及如何编写unit testing。 我的导师/开发负责人要求我为一个已经由现有测试类测试的方法中新编写的控制流编写一个新的unit testing用例,我认为这是一种过度杀伤力。 您多久编写一次unit testing,以及您认为unit testing的详细程度如何? 谢谢!