Giridhar Reddy
Giridhar Reddy

Reputation: 45

Unable to call Mapper.xml file by using junit testing for the application developed using Mybatis+Springboot

I'm very new to junit testing. How to write junit test real database call from mybatis.xml file. Please find the below code.

@RunWith(SpringRunner.class)
//@MybatisTest
@SpringBootTest
public class HotelMapperTest {

  @Autowired
  private HotelMapper hotelMapper;

  @Test
  public  void selectByCityIdTest() {
    Hotel hotel = hotelMapper.selectByCityId(1);
    assertThat(hotel.getName()).isEqualTo("Conrad Treasury Place");
    assertThat(hotel.getAddress()).isEqualTo("William & George Streets");
    assertThat(hotel.getZip()).isEqualTo("4001");
  }

when i run the junit testing i'm getting below exception:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
Herer my question is how we'll test the real database, When enable the @MybatisTest it's looking for datasource, already we specified all properties in applicaiton.properties. In this time i'm getting below exception:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource':

Upvotes: 2

Views: 803

Answers (1)

charlie yu
charlie yu

Reputation: 21

You can config mybatis mapper location in spring configuration file (such as application.yml).

mybatis configuration:

mybatis:
  mapper-locations:
    - classpath*:mapper/*.xml

Upvotes: 2

Related Questions