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

junit 测试中的 JPA 存储库为空

junit 测试中的 JPA 存储库为空

隔江千里 2022-03-10 16:12:26
我正在尝试为我的存储库/服务类编写一个非常基本的测试,但由于我似乎无法弄清楚的原因,我的自动装配存储库始终为空。这是回购类public interface RuleRepository extends JpaRepository<Rule, UUID> {       public Optional<Rule> findByName(String name);}和测试@DataJpaTest@ContextConfiguration(classes = MyApplication.class)public class RulesTest {    @Autowired    private RuleRepository ruleRepository;      @Test    public void testSaveOneRule() {        if (ruleRepository == null) {            System.err.println("HERE");            assertTrue(true);        } else {              assertTrue(false);          }    }}有没有人有任何想法?考试总是通过...编辑:我不确定这是否是一个值得发布新帖子的错误,但使用注释运行会@RunWith(SpringRunner.class)产生错误RulesTest.testSaveOneRule ? IllegalState Failed to load ApplicationContext...MyApplication.class 的内容import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class MyApplication {    public static void main(String[] args) {        SpringApplication.run(MyApplication.class, args);    }}
查看完整描述

3 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

对于测试存储库,您应该具有注释:


@DataJpaTest 

@RunWith(SpringRunner.class) 

@SpringBootTest(classes=MyApplication.class)


查看完整回答
反对 回复 2022-03-10
?
临摹微笑

TA贡献1982条经验 获得超2个赞

我注意到您缺少此注释 @RunWith(SpringRunner.class)

我一直在关注这个页面,我可以做到https://grokonez.com/testing/datajptest-with-spring-boot


查看完整回答
反对 回复 2022-03-10
?
慕村225694

TA贡献1880条经验 获得超4个赞

如果您使用 JPA,请添加类 Test @DataJpaTest。前任。:


@DataJpaTest

public class CategoriaServiceTest {

    

    @Autowired

    private CategoriaRepository repository;

    

    @Test

    public void test() {

        

        Categoria categoria = new Categoria(null, "Teste");

        

        Categoria categoriaSaved = repository.save(categoria);

        

        assertEquals(categoria.getNome(), "Jefferson");

    }


}


查看完整回答
反对 回复 2022-03-10
  • 3 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号