草庐IT

java - 何时使用 Mockito.verify()?

我为3个目的编写jUnit测试用例:为了确保我的代码在所有(或大部分)输入组合/值下满足所有必需的功能。为了确保我可以更改实现,并依靠JUnit测试用例告诉我我的所有功能仍然得到满足。作为我的代码处理的所有用例的文档,并充当重构规范-如果代码需要重写。(重构代码,如果我的jUnit测试失败-你可能错过了一些用例)。我不明白为什么或何时应该使用Mockito.verify()。当我看到verify()被调用时,它告诉我我的jUnit正在意识到该实现。(因此更改我的实现会破坏我的jUnit,即使我的功能不受影响)。我正在寻找:正确使用Mockito.verify()的指南应该是什么?jUn

java - 何时使用 Mockito.verify()?

我为3个目的编写jUnit测试用例:为了确保我的代码在所有(或大部分)输入组合/值下满足所有必需的功能。为了确保我可以更改实现,并依靠JUnit测试用例告诉我我的所有功能仍然得到满足。作为我的代码处理的所有用例的文档,并充当重构规范-如果代码需要重写。(重构代码,如果我的jUnit测试失败-你可能错过了一些用例)。我不明白为什么或何时应该使用Mockito.verify()。当我看到verify()被调用时,它告诉我我的jUnit正在意识到该实现。(因此更改我的实现会破坏我的jUnit,即使我的功能不受影响)。我正在寻找:正确使用Mockito.verify()的指南应该是什么?jUn

java - 在单元测试期间填充 Spring @Value

我正在尝试为我的程序中用于验证表单的简单bean编写单元测试。bean使用@Component进行注释,并有一个使用初始化的类变量@Value("${this.property.value}")privateStringthisProperty;我想为这个类中的验证方法编写单元测试,但是,如果可能的话,我想在不使用属性文件的情况下这样做。我的理由是,如果我从属性文件中提取的值发生变化,我希望这不会影响我的测试用例。我的测试用例是测试验证值的代码,而不是值本身。有没有办法在我的测试类中使用Java代码来初始化Java类并填充该类中的Spring@Value属性,然后使用它进行测试?我确实

java - 在单元测试期间填充 Spring @Value

我正在尝试为我的程序中用于验证表单的简单bean编写单元测试。bean使用@Component进行注释,并有一个使用初始化的类变量@Value("${this.property.value}")privateStringthisProperty;我想为这个类中的验证方法编写单元测试,但是,如果可能的话,我想在不使用属性文件的情况下这样做。我的理由是,如果我从属性文件中提取的值发生变化,我希望这不会影响我的测试用例。我的测试用例是测试验证值的代码,而不是值本身。有没有办法在我的测试类中使用Java代码来初始化Java类并填充该类中的Spring@Value属性,然后使用它进行测试?我确实

java - Java 的 assertEquals 方法可靠吗?

我知道==在比较两个Strings时会出现一些问题。似乎String.equals()是一种更好的方法。好吧,我正在做JUnit测试,我倾向于使用assertEquals(str1,str2)。这是断言两个字符串包含相同内容的可靠方法吗?我会使用assertTrue(str1.equals(str2)),但这样您就不会看到失败时的预期值和实际值是什么。在相关说明中,是否有人提供指向明确解释str1==str2问题的页面或线程的链接? 最佳答案 在比较Java中的Strings时,您应该始终使用.equals()。JUnit调用.eq

java - Java 的 assertEquals 方法可靠吗?

我知道==在比较两个Strings时会出现一些问题。似乎String.equals()是一种更好的方法。好吧,我正在做JUnit测试,我倾向于使用assertEquals(str1,str2)。这是断言两个字符串包含相同内容的可靠方法吗?我会使用assertTrue(str1.equals(str2)),但这样您就不会看到失败时的预期值和实际值是什么。在相关说明中,是否有人提供指向明确解释str1==str2问题的页面或线程的链接? 最佳答案 在比较Java中的Strings时,您应该始终使用.equals()。JUnit调用.eq

java - 在 IntelliJ 10.5 中运行测试时获取 "NoSuchMethodError: org.hamcrest.Matcher.describeMismatch"

我正在使用JUnit-dep4.10和Hamcrest1.3.RC2。我创建了一个自定义匹配器,如下所示:publicstaticclassMyMatcherextendsTypeSafeMatcher{@OverrideprotectedbooleanmatchesSafely(Strings){/*implementation*/}@OverridepublicvoiddescribeTo(Descriptiondescription){/*implementation*/}@OverrideprotectedvoiddescribeMismatchSafely(Stringite

java - 在 IntelliJ 10.5 中运行测试时获取 "NoSuchMethodError: org.hamcrest.Matcher.describeMismatch"

我正在使用JUnit-dep4.10和Hamcrest1.3.RC2。我创建了一个自定义匹配器,如下所示:publicstaticclassMyMatcherextendsTypeSafeMatcher{@OverrideprotectedbooleanmatchesSafely(Strings){/*implementation*/}@OverridepublicvoiddescribeTo(Descriptiondescription){/*implementation*/}@OverrideprotectedvoiddescribeMismatchSafely(Stringite

java - 模拟: how to verify method was called on an object created within a method?

我是Mockito的新手。鉴于下面的类,我如何使用Mockito来验证someMethod在foo被调用后被调用了一次?publicclassFoo{publicvoidfoo(){Barbar=newBar();bar.someMethod();}}我想调用以下验证电话,verify(bar,times(1)).someMethod();其中bar是Bar的模拟实例。 最佳答案 DependencyInjection如果您注入(inject)Bar实例或用于创建Bar实例的工厂(或执行此操作的其他483种方法之一),您将拥有执行测

java - 模拟: how to verify method was called on an object created within a method?

我是Mockito的新手。鉴于下面的类,我如何使用Mockito来验证someMethod在foo被调用后被调用了一次?publicclassFoo{publicvoidfoo(){Barbar=newBar();bar.someMethod();}}我想调用以下验证电话,verify(bar,times(1)).someMethod();其中bar是Bar的模拟实例。 最佳答案 DependencyInjection如果您注入(inject)Bar实例或用于创建Bar实例的工厂(或执行此操作的其他483种方法之一),您将拥有执行测