SpringBootユニットテストサービス、daoおよびその他のnullポインタ例外

SpringBootユニットテストサービス、daoおよびその他のnullポインタ例外

ビジネスコードが完了した後、通常はローカルユニットテストが実行され、次にオンラインテストが実行されますが、ユニットテスト中に、合格@Autowriedまたは@Resource注入されたBeanはSpringのIoCコンテナによって作成されるため作成されず、SpringBootは次の場合は開始されません。これらのBeanは作成される可能性があるため、nullポインタ例外が報告されます。

解決

次の2つのアノテーションをテストクラスに追加します

1. @RunWith(SpringRunner.class)

2. @SpringBootTest(classes = UserMainApplication.class)

その中にUserMainApplicationは、SpringBootプロジェクト全体のスタートアップクラスがあります

ユニットテストコードは次のとおりです。

@SpringBootTest(classes = UserMainApplication.class)
@RunWith(SpringRunner.class)
public class UserServiceImplTest {
    
    

    @Resource
    private UserService userService;

    @Test
    public void testDelete() {
    
    
        userService.delete(3);
    }
}

このようにして、ユニットテスト中にnullポインタ例外が報告されなくなります。

おすすめ

転載: blog.csdn.net/qq_27198345/article/details/113094098