Grails 中的测试服务产生 'org.junit.ComparisonFailure: expected:<An[a]nymous> but was:<An[o]nymous&g
Posted
技术标签:
【中文标题】Grails 中的测试服务产生 \'org.junit.ComparisonFailure: expected:<An[a]nymous> but was:<An[o]nymous>\' 错误【英文标题】:Testing Service in Grails produces 'org.junit.ComparisonFailure: expected:<An[a]nymous> but was:<An[o]nymous>' errorGrails 中的测试服务产生 'org.junit.ComparisonFailure: expected:<An[a]nymous> but was:<An[o]nymous>' 错误 【发布时间】:2012-05-13 00:30:46 【问题描述】:我正在研究“Grails in Action”,但在尝试为我的一项服务编写集成测试时遇到了问题。
我意识到我使用的是 Grails 2.0.3,而这本书是在考虑 Grails 1.x.x 的情况下编写的。
这是我的服务:
package qotd
类报价服务
boolean transactional = true
def getRandomQuote()
def allQuotes = Quote.list()
def randomQuote
if(allQuotes.size() > 0)
def randomIndex = new Random().nextInt(allQuotes.size())
randomQuote = allQuotes[randomIndex]
else
randomQuote = getStaticQuote()
return randomQuote
def getStaticQuote()
return new Quote(author: "Anonymous",
content: "Real Programmers Don't eat quiche")
下面是我的集成测试,位于'/test/integration/qotd/'
package qotd
导入静态 org.junit.Assert.*
导入 org.junit.*
类 QuoteServiceIntegrationTests 扩展 GroovyTestCase
def quoteService
@Before
void setUp()
@After
void tearDown()
@Test
void testStaticQuote()
def staticQuote = quoteService.getStaticQuote()
assertNotNull quoteService
assertEquals "Ananymous",staticQuote.author
assertEquals "Real Programmers Don't Eat Quiche",staticQuote.content
以防万一,这是我正在测试上述内容的 Quote 类:
包qotd
类引用
String content
String author
Date created = new Date()
static constraints =
author(blank:false)
content(maxSize:1000,blank:false)
当我使用“test-app -integration”运行测试时,我得到以下信息:
正在运行 1 个集成测试... 1 of 1 失败:testStaticQuote(qotd.QuoteServiceIntegrationTests) org.junit.ComparisonFailure:预期:An[a]nymous 但原为:An[o]nymous 在 org.junit.Assert.assertEquals(Assert.java:125) 在 org.junit.Assert.assertEquals(Assert.java:147) 在 qotd.QuoteServiceIntegrationTests.testStaticQuote(QuoteServiceIntegrationTests.groovy:24)
任何见解将不胜感激。谢谢大家!
【问题讨论】:
【参考方案1】:你在这一行拼错了“匿名”
assertEquals "Ananymous",staticQuote.author
【讨论】:
你说的完全正确,我在想这是一个错误!谢谢你:)以上是关于Grails 中的测试服务产生 'org.junit.ComparisonFailure: expected:<An[a]nymous> but was:<An[o]nymous&g的主要内容,如果未能解决你的问题,请参考以下文章
Grails Connections 在集成测试中的行为非常不同