0

MyService次のようにコントローラーで定義され、使用されているサービスクラスがあります。

public interface MyService {
  public String someMethod() 
}

@Service("myService")
public class MyServiceImpl implements MyService {
  public String someMethod() {
    return "something";
  }
}

@Controller 
public class MyController {
  @Autowired
  public MyService myService;

  @RequestMapping(value="/someurl", method=RequestMethod.GET)
  public String blah () {
    return myService.getsomeMethod();
  }
}

メソッドのテストケースを書きたいのですがsomeMethod、以下がうまくいきません。実装クラスに配線するにはどうすればよいですか?

public class MyServiceImplTest {
 @Autowired
 private MyService myService;

 @Test
 public void testSomeMethod() {
   assertEquals("something", myService.someMethod());
 }

}

4

2 に答える 2

1
public class MyServiceImplTest {
    private MyService myService = new MyServiceImpl();

    @Test
    public void testSomeMethod() {
        assertEquals("something", myService.someMethod());
    }
}

自分でインスタンスを作成するのではなく、テストに Bean を挿入するのはなぜですか?

于 2012-11-19T15:44:42.043 に答える
0

これを試して:

@RunWith(SpringJUnit4ClassRunner.class)
 // specifies the Spring configuration to load for this test fixture
@ContextConfiguration("yourapplication-config.xml")

詳細については、Spring.IO ドキュメントも参照してください。

于 2012-11-20T05:55:46.707 に答える