(1)@Test Spring的单元测试,测试在Spring容器环境下执行。打印已经实例化,说明已经自动 new 了,通过new实例化CompactDisc的对象cd,开辟了内存空间对象cd就不为空了,你就可以去调用对象cd里的方法或者去取变量值了!!
(2)如果不以Spring的方式执行,用 public static void main(String[] args) 里去调用cdShouldNotBeNull()方法的话,就不会自动为类CDPlayerTest依赖的 CompactDisc类去实例化CompactDisc,创建CompactDisc的实例化对象。
public class Test {
public static void main(String[] args){
CDPlayerTest cdPlayerTest = new CDPlayerTest();
cdPlayerTest.cdShouldNotBeNull();
}
}
package wiring.test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import wiring.soundsystem.CDPlayerConfig;
import wiring.soundsystem.CompactDisc;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes= CDPlayerConfig.class)
public class CDPlayerTest {
@Autowired
private CompactDisc cd;
@Test
public void cdShouldNotBeNull() {
if(null == cd){
System.out.println("未实例化");
}else{
System.out.println("已经实例化");
}
}
}