null почему-то. Есть у кого идеи, как фиксить?
                  
                  
                  
                  
                  
                      @Test
                  
                  
                      fun `testPasses`(){
                  
                  
                          assertNotNull(MyClass.A)
                  
                  
                          assertNotNull(MyClass.a)
                  
                  
                      }
                  
                  
                  
                  
                  
                      @Test
                  
                  
                      fun `testPasses2`(){
                  
                  
                          assertNotNull(MyClass.B)
                  
                  
                          assertNotNull(MyClass.b)
                  
                  
                      }
                  
                  
                  
                  
                  
                      @Test
                  
                  
                      fun `testPasses3`(){
                  
                  
                          assertNotNull(MyClass.C)
                  
                  
                          assertNotNull(MyClass.c)
                  
                  
                      }
                  
                  
                      
                  
                  
                      @Test
                  
                  
                      fun `testFails`(){
                  
                  
                          assertNotNull(MyClass.D)
                  
                  
                          assertNotNull(MyClass.d)
                  
                  
                      }
                  
                  
                  
                  
                  
                      sealed class MyClass {
                  
                  
                  
                  
                  
                          object A : MyClass()
                  
                  
                  
                  
                  
                          object B : MyClass()
                  
                  
                  
                  
                  
                          object C : MyClass()
                  
                  
                  
                  
                  
                          object D : MyClass()
                  
                  
                  
                  
                  
                          companion object {
                  
                  
                  
                  
                  
                              val a: MyClass = A
                  
                  
                              val b: MyClass = B
                  
                  
                              val c: MyClass = C
                  
                  
                              val d: MyClass = D
                  
                  
                          }
                  
                  
                      }
                  
                  
                
Может была определена как константа в самом классе?
Не совсем понял, что имеете в виду. Привел код, который фейлится. Ничего дополнительно нет
Это одно из двух мест, где можно сломать котлин. На порядок инициализации синглетонгв нельзя полагаться.
Да, странно, что ломается именно на 4-м
4м ? Junit ? Писали же про 5-ый
Имел в виду, что ломается на 4-м поле. Т.е. первые 3 ок все
Это зависит от того, в каком порядке junit классы подгружает
Да, в песочнице немного по другому себя ведет
А второе это где два поля через друг на друга инициализируются? Одно напрямую другое через lazy например
Обсуждают сегодня