草庐IT

matcher1

全部标签

java - 当没有调用 'matching' 方法时,Matcher 抛出 IllegalStateException 的理由

TL;DRMatcher背后的设计决策是什么?的API?背景Matcher有一种我没有预料到的行为,而且我找不到很好的理由。API文档说:Oncecreated,amatchercanbeusedtoperformthreedifferentkindsofmatchoperations:[...]Eachofthesemethodsreturnsabooleanindicatingsuccessorfailure.Moreinformationaboutasuccessfulmatchcanbeobtainedbyqueryingthestateofthematcher.API文档进一

java - Mockito Matchers isA、any、eq 和 same 有什么区别?

我对它们之间的区别以及在哪种情况下选择哪个感到困惑。有些区别可能很明显,例如any和eq,但我将它们都包括在内只是为了确定。我想知道它们的区别,因为我遇到了这个问题:我在Controller类中有这个POST方法publicResponsedoSomething(@ResponseBodyRequestrequest){returnsomeService.doSomething(request);}并且想对该Controller执行单元测试。我有两个版本。第一个是简单的,像这样@TestpublicvoidtestDoSomething(){//initializeObjectMapp

ruby-on-rails - Ruby on Rails 教程 : RSpec test failing when refactoring with matcher

我正在处理MichaelHartl'sRailstutorial并且在使用匹配器重构时无法通过Rspec测试。终端输出Failures:1)AuthenticationloginwithinvalidinformationFailure/Error:it{shouldhave_error_message('Invalid')}NoMethodError:undefinedmethod`has_error_message?'for##./spec/requests/authentication_pages_spec.rb:21:in`block(4levels)in'spec/suppo

java - 为什么我应该使用 Hamcrest-Matcher 和 assertThat() 而不是传统的 assertXXX()-Methods

当我查看Assert类JavaDoc中的示例时assertThat("Help!Integersdon'twork",0,is(1));//fails://failuremessage://Help!Integersdon'twork//expected:is//gotvalue:assertThat("Zeroisone",0,is(not(1)))//passes我没有看到比assertEquals(0,1)有很大的优势。如果结构变得更复杂,消息可能会很好,但您是否看到更多优势?可读性? 最佳答案 对于那些存在与您的意图完全匹配

java - 为什么我应该使用 Hamcrest-Matcher 和 assertThat() 而不是传统的 assertXXX()-Methods

当我查看Assert类JavaDoc中的示例时assertThat("Help!Integersdon'twork",0,is(1));//fails://failuremessage://Help!Integersdon'twork//expected:is//gotvalue:assertThat("Zeroisone",0,is(not(1)))//passes我没有看到比assertEquals(0,1)有很大的优势。如果结构变得更复杂,消息可能会很好,但您是否看到更多优势?可读性? 最佳答案 对于那些存在与您的意图完全匹配

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