Accessing inner enum in another class for testing
如何访问另一个类中的内部枚举类? 例如:
1 2 3 4 5 6 7 | public class Foo { enum Bar { ONE, TWO, FOUR, EIGHT, SIXTEEN } // ...methods here } |
我正在尝试访问
1 2 3 4 5 6 7 8 9 10 11 12 | public class FooTest { private Foo f; @Before public void setUp() throws Exception { f = new Foo(); } public void testCase1() { assertEquals(Bar.ONE, f.climbUp()); } } |
我已经尝试了
更新:我不允许修改类
如果目标是测试它,但将枚举保留在默认的可访问性(
考试:
1 2 3 4 5 6 7 |
另一个来源:
1 2 3 4 5 6 7 | package com.scratch; public class Foo { enum Bar { ONE, TWO; } } |
你不需要在这里使用反射。 只需使枚举"静态":
1 2 3 4 5 6 7 | public class Foo { static enum Bar { ONE, TWO, FOUR, EIGHT, SIXTEEN } // ...methods here } |
然后你可以通过Foo.Bar.ONE访问它