1
我有一個斯波克集成測試,看起來是這樣的:Grails的斯波克集成測試redirectedUrl本地主機測試應用程序,並構建服務器測試應用程序之間的不同
class PriceTierControllerIntegrationSpec extends IntegrationSpec {
PriceTierController controller
def setup() {
controller = new PriceTierController()
}
def "applyDiscount() method will redirect user to success view"() {
when:
controller.applyDiscount()
then:
controller.response.redirectedUrl == '/priceTier/success'
}
然後在控制器,邏輯很簡單:
class PriceTierController {
def applyDiscount() {
redirect action: 'success'
}
def success() {
}
}
當我在本地機器上運行這個Spock測試時,測試通過。然而,在構建服務器,我收到以下錯誤:
controller.response.redirectedUrl == '/priceTier/success'
| | | |
| | /test/success false
| | 8 differences (46% similarity)
| | /(t---)e(st--)/success
| | /(pric)e(Tier)/success
| org.codeh[email protected]dc42543
[email protected]
出於某種原因,在構建服務器時,斯波克測試認爲,控制器名稱是test
而不是priceTier
,測試將失敗。這似乎只發生在Spock集成測試中,因爲Spock單元測試和一些遺留的Grails mixin測試都通過正常。
有沒有人知道可能會導致這個問題?
,請複製粘貼你用你的本地計算機上運行測試和構建服務器的命令。你使用不同的environemnt設置? –