使用TestNG测试含有MyBatis的项目时,可能出现找不到XML文件的异常
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
- 假设你的MyBatis对应的XML文件都放在 src/main/resources/mapper 下
- 编译后 target/classes 文件夹中会包含 mapper 文件夹
- target/test-classes 文件夹中没有 mapper 文件夹 !所以报错
解决方法
pom.xml 文件中将 Test 的 resources 目录指向 src/main/resources
<build>
<testResources>
<!--测试的时候直接读取src/main/resources的资源文件-->
<testResource>
<directory>${project.basedir}/src/main/resources</directory>
</testResource>
</testResources>
</build>