我以前在Java中開發過,現在我正在嘗試使用this slightly dated tutorial來學習Grails/Groovy。Grails單元測試:爲什麼此聲明失敗?
import grails.test.*
class DateTagLibTests extends TagLibUnitTestCase {
def dateTagLib
protected void setUp() {
super.setUp()
dateTagLib = new DateTagLib()
}
protected void tearDown() {
super.tearDown()
}
void testThisYear() {
String expected = Calendar.getInstance().get(Calendar.YEAR)
// NOTE: This statement fails
assertEquals("the years dont match and I dont know why.", expected, dateTagLib.thisYear())
}
}
DateTagLibTests.groovy
(注:此TagLibUnitTestCase是用於tutorial使用的Grails 1.2.1而不是版本)
出於某種原因,上述的測試失敗,並:
預計:< 2010>但是:< 2010>
我試圖替換上面與測試以下替代版本的測試,並且測試通過就好:
void testThisYear() {
String expected = Calendar.getInstance().get(Calendar.YEAR)
String actual = dateTagLib.thisYear()
// NOTE: The following two assertions work:
assertEquals("the years don\'t match", expected, actual)
assertTrue("the years don\'t match", expected.equals(actual))
}
測試這兩個版本基本相同對嗎?
除非在Grails 1.2.1或Groovy中有一些我不瞭解的新東西。它們應該是相同類型的,因爲這些值都是由返回的值Calendar.getInstance()。get(Calendar.YEAR)
複製我的壞! – leeand00 2010-03-30 02:21:46
@Victor是的,我對這個測試版非常感興趣!但是我害怕我被拒之門外! – leeand00 2011-01-20 01:58:18
是的,它今天剛剛開始不到12個小時。你有點錯過了火車,但不用擔心,它會在7天內進入公測階段:) – greatwolf 2011-01-20 02:02:44