Я знаю, как написать JUnit
контрольный пример для findBySInvestigatorName(String SInvestigatorName)
такого метода. Но я хочу знать, как написать контрольный пример для метода @Query
. Кто-нибудь может подсказать, пожалуйста, как написать контрольный пример для следующего метода?
@Repository
public interface InvestigatorRepository extends JpaRepository<Investigator, Integer> {
@Query("select new map(invest.sInvestigatorName as sInvestigatorName)"
+ " from Investigator invest where invest.nInstId=60")
Set<Investigator> findSinvestigatorName();
}
Я пробовал вот так
@RunWith(SpringRunner.class)
@DataJpaTest
public class TestInvestigatorRepository {
@Autowired
public TestEntityManager testEm;
@Autowired
InvestigatorRepository investRepo;
@Test
public void testFindSinvestigatorName() {
Investigator invest = new Investigator();
invest.setsInvestigatorName("abc");
invest.setnInstId(60);
Investigator saveInDb = testEm.merge(invest);
Set<Investigator> getFromDb = investRepo.findSinvestigatorName();
assertEquals(saveInDb.getsInvestigatorName(), getFromDb);
}
Сбой теста
java.lang.AssertionError: expected:<abc> but was:<[{sInvestigatorName=abc}]>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)