为了账号安全,请及时绑定邮箱和手机立即绑定

JUnit4 测试期间与数据库的连接

JUnit4 测试期间与数据库的连接

繁华开满天机 2021-11-11 18:01:59
我正在尝试为我的 progressBar 类创建测试,但我无法以标准方式访问 MySQL 数据库。我应该如何在测试中创建与数据库的连接?public class progressBarTest {@Resource(name = "jdbc/movie_user_database")private static DataSource dataSource;@BeforeClasspublic static void setUpClass() throws Exception {    MovieDatabaseUtil.getInstance().setDataSource(dataSource);    System.out.println("DataSource created!");}@AfterClasspublic static void tearDownClass() throws Exception {}@Testpublic void getMovies() {    List<Movie> movies = MovieDatabaseUtil.getInstance().getMovies();    for (Movie m : movies    ) {        System.out.println(m.getTitle());    }}@Testpublic void progressCalculatorMovies() {    ProgressBar progressBar = new ProgressBar();    assertEquals(30, progressBar.progressCalculatorMovies());}}当然,运行后我得到了 NullPointerException。在运行测试之前,我向数据库添加了一些记录。
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

您应该模拟连接而不是尝试直接测试连接。模拟和存根使您可以更好地测试被测类,而不会因数据库连接问题而分心。它还允许您进行测试而无需处理实际的数据库条目。

我强烈推荐 Mockito ( https://site.mockito.org/ ) 框架作为模拟此类接口的工具


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 363 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信