为啥@Before 不被调用
Posted
技术标签:
【中文标题】为啥@Before 不被调用【英文标题】:Why isn't @Before being called为什么@Before 不被调用 【发布时间】:2014-09-13 08:46:20 【问题描述】:在下面的测试类中,我的测试对象没有被初始化,因为之前没有被调用。
有什么想法吗?
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class CalcDateToolTest extends TestCase
DatesCalculator calc;
@Before
public void initialize()
System.out.println("Before");
calc = new DatesCalculator("15/06/2013", "30/06/2013");
@Test
public void testCalcDayDiff()
assertEquals(true, calc.getFromDate());
@After
public void destroy()
calc = null;
【问题讨论】:
你为什么删除你的旧帖子?那时我对相关问题发表评论是对的......可能会有答案:***.com/a/733358/1993402。结论:do NOT extend TestCase AND use annotations at the same time!
Why isn't my @BeforeClass method running?的可能重复
【参考方案1】:
从您的代码中删除 extends TestCase
。
例如:
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class CalcDateToolTest
DatesCalculator calc;
@Before
public void initialize()
System.out.println("Before");
calc = new DatesCalculator("15/06/2013", "30/06/2013");
@Test
public void testCalcDayDiff()
assertEquals(true, calc.getFromDate());
@After
public void destroy()
calc = null;
【讨论】:
以上是关于为啥@Before 不被调用的主要内容,如果未能解决你的问题,请参考以下文章
为啥传递的函数是不是带参数对 Mocha 的 `before()` 很重要?
为啥 :before 和 :after 伪元素需要 'content' 属性?
为啥在使用 unicode 时我不能在 :before :after 内容之后使用空格
为啥使用 :before 高度时,WebKit 上的对齐标记列表不同?