Java 测试类中的字段定义
考虑以下测试类:Java 测试类中的字段定义,java,static,field,final,Java,Static,Field,Final,考虑以下测试类: public class MyTest extends extends EasyMockSupport { private static TestobjectFactory testobjectFactory = new TestobjectFactory(); private static final Date DATE = testobjectFactory.createDate(2013, 0, 13, 01, 02, 03); private
public class MyTest extends extends EasyMockSupport {
private static TestobjectFactory testobjectFactory = new TestobjectFactory();
private static final Date DATE = testobjectFactory.createDate(2013, 0, 13, 01, 02, 03);
private static final String CSV = "einCsv";
@TestSubject
private ClassToBeTested classUnderTest = new ClassToBeTested();
@Mock
private ClassToBeMocked myMock;
@After
public void tearDown() {
verifyAll();
}
@Test
public void myTest() throws Exception {
replayAll();
String outcome = classUnderTest.someMethod("", DATE);
assertThat(outcome, is(""));
}
@Test
public void anotherTest() throws Exception {
expect(myMock.mockedMethod((String[]) anyObject())).andReturn(testobjectFactory.foo());
replayAll();
String outcome = classUnderTest.someMethod(CSV, DATE);
assertTrue(outcome.contains("abc"));
}
}
问题:
- 为什么要定义CSV(或日期)静态最终版本?我同意把它定义为最终的,因为它是不变的。但为什么是静态的
- 哪些字段是大写的? 私有静态最终MY_字段; 私人决赛我的领域; 私有静态MY_字段
- 使用静态TestobjectFactory不是更好吗
我以前已经看过那篇可能重复的文章了。但是我写的问题没有答案。魔术字符串常量总是可以声明为静态最终值。这样,它们只存在一次,不必每次生成类实例时都创建/加载“使用静态TestobjectFactory不是更好吗?”您已经:
private static TestobjectFactory TestobjectFactory=…
。你什么意思?好的,这回答了我的第一个问题。不错。关于第二个问题,我指的是类似TestobjectFactory.createDate(2013,0,13,01,02,03)的调用;你的项目的编码标准是什么?e、 g.为某些标识符指定了它,但这只是谷歌选择的方式。我是在java标准的意义上问这个问题的。神奇的字符串常量总是可以声明为静态的final。这样,它们只存在一次,不必每次生成类实例时都创建/加载“使用静态TestobjectFactory不是更好吗?”您已经:private static TestobjectFactory TestobjectFactory=…
。你什么意思?好的,这回答了我的第一个问题。不错。关于第二个问题,我指的是类似TestobjectFactory.createDate(2013,0,13,01,02,03)的调用;你的项目的编码标准是什么?e、 g.为某些标识符指定了它,但这只是谷歌选择的方式。我问的是java标准的意义。