2013-08-16 11 views
11

Mam 4 klasy testowe ze średnią z dwóch funkcji testowych. Pierwszy test znajduje się poniżej i musi być poprawny (jest z samouczka Play).Play Framework (2.1.3) nie wykonuje żadnych testów.

public class ApplicationTest { 

    @Test 
    public void simpleCheck() { 
     int a = 1 + 1; 
     assertThat(a).isEqualTo(2); 
    } 

} 

Pozostali te są wykonane na zamówienie i posiada konfigurację @Before, tak:

public class UserTest extends WithApplication { 

@Before 
public void setUp() { 
    start(fakeApplication(inMemoryDatabase())); 
} 

// creation and retrieval of user 
@Test 
public void createAndRetrieveUser() { 
    new User("[email protected]", "Bob", "secret").save(); 

    User bob = User.find.where().eq("email", "[email protected]").findUnique(); 

    assertNotNull(bob);     // successfully retrieved 
    assertEquals("Bob", bob.getName()); // correct user retrieved 
} 
} 

Teraz gdy uruchamiam play test jej zakończeniu wiele szybciej i nie wykonuje żadnych testów.

PS C:\wamp\www\dcid> play test 
[info] Loading project definition from C:\wamp\www\dcid\project 
[info] Set current project to dcid (in build file:/C:/wamp/www/dcid/) 
[info] Compiling 4 Java sources to C:\wamp\www\dcid\target\scala-2.10\test-classes... 
[info] ApplicationTest 
[info] 
[info] 
[info] Total for test ApplicationTest 
[info] Finished in 0.014 seconds 
[info] 0 tests, 0 failures, 0 errors 
[info] models.UserTest 
[info] 
[info] 
[info] Total for test models.UserTest 
[info] Finished in 0.002 seconds 
[info] 0 tests, 0 failures, 0 errors 
[info] models.ProposalTest 
[info] 
[info] 
[info] Total for test models.ProposalTest 
[info] Finished in 0.002 seconds 
[info] 0 tests, 0 failures, 0 errors 
[info] Passed: : Total 0, Failed 0, Errors 0, Passed 0, Skipped 0 
[success] Total time: 5 s, completed 16/Ago/2013 14:52:35 

Dlaczego tak jest? Co mogę zrobić? Niedawno zaktualizowałem grę w wersji 2.1.2 do wersji 2.1.3. Zaktualizowałem wszystkie referencje i projekt działa dobrze, z wyjątkiem testów. Ja także looked at this question, ale nie może tak być, ponieważ nie zmieniłem testów, więc są dobrze napisane, to tylko ich wykonanie nie działa.

+2

Należy dodać tag java, aby umożliwić format kopać i mieć trochę więcej względu na swoje pytanie;) –

+0

Nicea końcówki, ja nie wiedziałem o tym, zrobiłem;) – dialex

Odpowiedz

14

To jest a known issue of Play 2.1.3. Tymczasem istnieje a workaround. Dodaj poniższe do pliku Build.scala w val Główną funkcją:

val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here  
    testOptions in Test ~= { args => 
    for { 
     arg <- args 
     val ta: Tests.Argument = arg.asInstanceOf[Tests.Argument] 
     val newArg = if(ta.framework == Some(TestFrameworks.JUnit)) ta.copy(args = List.empty[String]) else ta 
    } yield newArg 
    } 
) 
+0

Pomógł mi ton .. Mnie nowicjusz do gry f/w – saurshaz