草庐IT

Test_stub

全部标签

java - 尝试 stub 包保护方法时,Mockito 模拟调用真实方法实现

我正在尝试使用Mockito1.8.5对方法进行stub,但这样做会调用引发异常的真实方法实现(使用""作为参数值)。packagebackground.internal;//locatedintrunk/tests/java/background/internalpublicclassMoveStepTest{@TestpublicvoidtestMoveUpdate(){finalStringreturnValue="value";finalFileAttachmentContainerfile=mock(FileAttachmentContainer.class);doRetur

Java 9 + maven + junit : does test code need module-info. java 自己的,放在哪里?

假设我有一个使用Maven3和junit的Java项目。src/main/java和src/test/java目录分别包含主源和测试源(一切都是标准的)。现在我想将项目迁移到Java9。src/main/java内容代表Java9模块;com/acme/project/module-info.java看起来大概像这样:modulecom.acme.project{requiremodule1;requiremodule2;...}如果测试代码需要自己的module-info.java怎么办?例如,添加对仅用于测试而不是生产代码的某些模块的依赖。在这种情况下,我必须将module-inf

java - stub 和模拟时的区别

我是mockito的新手。需要知道stub和何时的区别1.stub(cpproxy.getBinList()).toReturn(gettestbins());2.when(cpproxy.getBinList()).thenReturn(gettestbins());这两者有什么区别? 最佳答案 实际上它们在技术上是相同的。最初创建Mockito时,我们谈论的是stub,因此词汇表遵循了这个想法。后来人们认为用交互而不是技术术语来思考更好,所以词汇遵循when...then...风格.词汇的这种变化有助于人们思考对象之间的交互、消

java - JUnit @Test 预期的注释不起作用

我有以下测试:@Test(expected=IllegalStateException.class)publicvoidtestKey(){intkey=1;this.finder(key);}但是JUnit报告说,测试失败,尽管它抛出了-正如预期的那样-IllegalStateException。我必须配置其他东西才能运行吗?我现在运行测试@RunWith(Suite.class)@SuiteClasses(Test.class)publicclassTestSuite{}喜欢thisquestion,但仍然没有得到想要的结果。当我删除test前缀时,我仍然收到错误消息。我得说我使用

java - new Test() 和 new Test() { } 的区别

这两种实例化类的新对象的方式有什么区别如下:Testt1=newTest();Testt2=newTest(){};当我尝试以下代码时,我可以看到两个对象都可以访问方法foo(),但是t2无法访问variablex(variablex无法解析):publicclassTest{intx=0;publicvoidfoo(){}publicstaticvoidmain(Stringargs[]){Testt1=newTest();Testt2=newTest(){};t1.x=10;t2.x=20;t1.foo();t2.foo();System.out.println(t1.x+""t2

java - -DskipTests 和 -Dmaven.test.skip=true 有什么区别

我正在尝试构建hive-0.13。当使用-Dmaven.test.skip=true时,它不会构建测试jar,但会检查测试依赖。当使用-DskipTests时,它不会构建测试jar,也不会检查测试依赖。-DskipTests和-Dmaven.test.skip=true有什么区别? 最佳答案 Mavendocs:-DskipTests编译测试,但跳过运行它们-Dmaven.test.skip=true跳过编译测试并且不运行它们这也可能很重要maven.test.skipishonoredbySurefire,Failsafeandt

java - Mockito - stub 方法时出现 NullpointerException

所以我开始为我们的Java-Spring项目编写测试。我使用的是JUnit和Mockito。据说,当我使用when()...thenReturn()选项时,我可以模拟服务,而无需模拟它们左右。所以我想做的是,设置:when(classIwantToTest.object.get().methodWhichReturnsAList(input))thenReturn(ListcreatedInsideTheTestClass)但是无论我使用哪个when子句,我总是会得到一个NullpointerException,这当然是有道理的,因为输入为空。当我尝试从一个对象模拟另一个方法时:whe

java - 为什么我无法在使用 Maven 的 Junit 测试运行中访问 src/test/resources?

我在运行以下代码时遇到问题:configService.setMainConfig("src/test/resources/MainConfig.xml");从Junit@Before方法中。这是Maven构建其目标文件夹的方式吗? 最佳答案 直接访问MainConfig.xml。src/test/resources目录内容放置在您的CLASSPATH的根目录中。更准确地说:src/test/resources的内容被复制到target/test-classes中,所以如果你有以下项目结构:.└──src└──test├──java

java - 使用 Mockito stub 并执行测试方法

我最近问了几个面向jUnit和Mockito的问题,但我仍然很难掌握它的窍门。这些教程都是针对非常简单的示例,所以我正在努力扩大我的测试用例以适用于我的类(class)。我目前正在尝试为我在web应用程序中的一个代理中使用的方法编写一些测试用例。该方法与代理内部的其他几个方法交互以验证某些对象。我现在只想测试这个方法。这是我尝试做的:像这样创建我的代理的Mockito对象:MyProcessingAgentmockMyAgent=Mockito.mock(MyProcessingAgent.class);使用Mockito.when设置stub(希望是正确的术语),如下所示:Mocki

java - 命名约定 JUnit 后缀或前缀 Test

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭5年前。Improvethisquestion待测类MyClass.javaJUnit测试用例名称替代:TestMyClass.javaMyClassTest.javahttp://moreunit.sourceforge.net似乎使用“测试”作为前缀默认值,但我已经看到了这两种用途。在eclipse中将整个项目作为单元测试运行时,两者似乎都被识别,因为它是为@Test解析的类内部的注释。我猜maven做同样的事情。哪个是首选?