का उपयोग करके एक सरल Grails कार्यात्मक परीक्षण नहीं चला सकता मैं मदद के लिए पूछ रहा हूँ क्योंकि मुझे नहीं पता कि इस त्रुटि के साथ क्या करना है ... तो सबसे पहले मुझे मुझे जो स्टैकट्रैक मिलता है उसे दिखाएं जब मेरा सचमुच सरल परीक्षण चल रहा है, तो अजीब बात यह है कि मेरा परीक्षण निष्पादित नहीं लगता है ...? मैं Grails 2,0मैं गेब और स्पॉक
Configuring Spring Security Core ...
... finished configuring Spring Security Core
| Server running. Browse to http://localhost:8080/
| Running 3 functional tests... 1 of 0
| Failure: initializationError(SecondaryTest)
| java.lang.Exception: No runnable methods
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:166)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:102)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:344)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:74)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:55)
| Running 3 functional tests... 2 of 0
| Failure: initializationError(SecondaryTest)
| java.lang.Exception: The @Rule '_gebReportingSpecTestName' must be public.
at org.junit.internal.runners.rules.RuleFieldValidator.addError(RuleFieldValidator.java:90)
at org.junit.internal.runners.rules.RuleFieldValidator.validatePublic(RuleFieldValidator.java:67)
at org.junit.internal.runners.rules.RuleFieldValidator.validateField(RuleFieldValidator.java:55)
at org.junit.internal.runners.rules.RuleFieldValidator.validate(RuleFieldValidator.java:50)
at org.junit.runners.BlockJUnit4ClassRunner.validateFields(BlockJUnit4ClassRunner.java:170)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:344)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:74)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:55)
| Running 3 functional tests... 3 of 0
| Failure: initializationError(SecondaryTest)
| java.lang.Exception: The @Rule '_gebReportingSpecTestName' must implement MethodRule or TestRule.
at org.junit.internal.runners.rules.RuleFieldValidator.addError(RuleFieldValidator.java:90)
at org.junit.internal.runners.rules.RuleFieldValidator.validateTestRuleOrMethodRule(RuleFieldValidator.java:73)
at org.junit.internal.runners.rules.RuleFieldValidator.validateField(RuleFieldValidator.java:56)
at org.junit.internal.runners.rules.RuleFieldValidator.validate(RuleFieldValidator.java:50)
at org.junit.runners.BlockJUnit4ClassRunner.validateFields(BlockJUnit4ClassRunner.java:170)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:344)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:74)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:55)
| Completed 3 functional tests, 3 failed in 40ms
| Server stopped
| Tests FAILED - view reports in target/test-reports
और यहाँ ग्रूवी फ़ाइलों का उपयोग कर रहा हूँ:
SecondaryTest.groovy:
import pages.SignInPage
import geb.spock.GebReportingSpec
class SecondaryTest extends GebReportingSpec {
String getBaseUrl() { "http://localhost:8080/" }
File getReportDir() { new File("target/reports/geb") }
def "I am at siginin page"() {
when:
to SignInPage
then:
true
}
}
SignInPage.groovy:
package pages
import geb.Page
class SignInPage extends Page {
static url = "login/auth"
static at = { title == "Sign in" }
static content = {
}
}
धन्यवाद
हाँ! धन्यवाद !! समाधान इतना स्पष्ट था कि मैं इसे नहीं देख सका :-) –
क्या इसका मतलब यह है कि मेरे पिछले सभी यूनिट परीक्षणों का नाम बदलकर एसएसपीसी किया जाना चाहिए? – raffian
सुनिश्चित नहीं है कि "मेरे पिछले यूनिट परीक्षण" से आपका क्या मतलब है। * स्पॉक टेस्ट क्लासेस * को 'स्पेक' में समाप्त करना होगा। ध्यान दें कि यह प्रश्न Grails के लिए विशिष्ट है। –