Próbuję użyć scalatest przetestować aplikację tak:Pole wewnątrz obiektu, które rozszerza cechę aplikacji, jest ustawione na wartość null. Dlaczego to jest takie?
object Main extends App {
val name = "Greg"
}
class JunkTests extends FunSpec with MustMatchers {
describe("Junk Tests") {
it("Junk-1 -- Must do stuff") {
println("Name: "+Main.name)
// some test here
}
}
}
moje wyjście nazwa jest zawsze zerowa. Jak mogę przekonać mój główny obiekt do korzystania z jego obiektów podczas testu? W rzeczywistości mam aplikację, która jest serwerem Http i chcę wysyłać jej wiadomości, ale teraz jej nigdy nie inicjalizowano, więc serwer nigdy się nie uruchamia. Ten prosty przykład pokazuje, że Main nie jest inicjowany.
sprawił, że val lazy pracował dla mnie; uczynienie go ostatecznym nie zmieniło zachowania. – hughw