Огурец и Дженкинс: ложное «дублирующее определение шага» - PullRequest
0 голосов
/ 25 февраля 2020

Я получаю это сообщение об ошибке в сборке Jenkins для проекта Java, Selenium и Cucumber:

Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.466 sec <<< FAILURE! - in 
e2e.CucumberTest
e2e.CucumberTest  Time elapsed: 1.466 sec  <<< ERROR!
cucumber.runtime.DuplicateStepDefinitionException: Duplicate step definitions in void  
e2e.sak.OpprettSakSteps.TestCaseDSLTester(String) in file:/tmp/workspace/n_DSL-og- 
TestsakBuilder_combined/e2e/cucumber/target/test-classes/ and 
e2e.sak.OpprettSakSteps.TestCaseDSLTester$default(OpprettSakSteps,String,int,Object) in file:/tmp
/workspace/n_DSL-og-TestsakBuilder_combined/e2e/cucumber/target/test-classes/

Я не вижу, где находится предполагаемое дублирующее определение шага? При просмотре файла Java / Kotlin, нет абсолютно никаких дубликатов, и у всех определений шагов есть завершающий "$" (который был причиной более ранних ошибочных повторяющихся сообщений). Кроме того, я не понимаю, что сравнивает Дженкинс, хотя мне кажется, что он пытается показать мне точно, где находится дубликат:

e2e.sak.OpprettSakSteps.TestCaseDSLTester(String)

and

e2e.sak.OpprettSakSteps.TestCaseDSLTester$default(OpprettSakSteps,String,int,Object)

Он указывает на тот же метод, но с другими параметрами? Ни имя метода, ни имя определения шага Cucumber не совпадают, так на что жаловаться?

Вот код определения шага (Kotlin):

@Gitt("^jeg prøver meg på DSL for \"([^\"]*)\"$")
fun TestsakDSLTester(saksRef: String = "saken") {
    TestsakDSL.create {
        opprettet = LocalDateTime.now().minusDays(1)                                                                                                    
        kommunenr = "5035"                                                                                                              
        hovedsoker = "Kåre Kotlin"                                                                                                      
        fnr = "22097930922"                                                                                                             
        sokere = 2                                                                                                                      
        arbeidlisteHovedsoker { mutableListOf(mutableListOf("Knus og Knask AS", 100, true), 
        mutableListOf("Del og Hel", 20, false)) }
        arbeidlisteMedsoker { mutableListOf(mutableListOf("Kiosken på hjørnet", 50, false)) }                                          
        barn = 2                                                                                                                        
        biler = 1                                                                                                                       
        verger = mutableListOf(VergeUtils.Companion.VergeFor.HOVEDSOKER, 
                 VergeUtils.Companion.VergeFor.MEDSOKER)

    }

    System.out.println("");
}

@Gitt("en sak med (\\d+) søkere med hver sin verge$")
fun enSakMedNSokereMedHverSinVerge(): Testsak {
    return TestsakBuilder("saken",  "5035") 
           .setSoknadtype(Bakgrunn.Hva.values().toList().shuffled().first())
           .setVerger(vergeFor = 
             mutableListOf(VergeUtils.Companion.VergeFor.HOVEDSOKER)).createSak().build();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...