Java 斯波克';s测试在Maven启动后失败
独立运行(在IDE中)时测试成功,但通过Maven触发时抛出:Java 斯波克';s测试在Maven启动后失败,java,maven,spock,Java,Maven,Spock,独立运行(在IDE中)时测试成功,但通过Maven触发时抛出:groovy.lang.MissingPropertyException 我调试了mvn测试,发现gameObject在运行时通过Maven启动时没有定义字段。具体的异常消息是: groovy.lang.MissingPropertyException:没有这样的属性:类的gameObject:org.monterinio.games.asteroids.player.view.PlayerView 测试文件夹:src/Test/gr
groovy.lang.MissingPropertyException
我调试了mvn测试
,发现gameObject
在运行时通过Maven启动时没有定义字段。具体的异常消息是:
groovy.lang.MissingPropertyException:没有这样的属性:类的gameObject:org.monterinio.games.asteroids.player.view.PlayerView
测试文件夹:src/Test/groovy
包含(除其他外)org.monterinio.games.asteroids.player.controller.action.BasicActionHandlerTest
Src文件夹:Src/main/java
包括(除其他外):
我希望Maven执行测试时会成功。打开正在测试的软件包解决了问题:
package.info
...
// needs to be opened for testing
opens org.monterinio.games.asteroids.player.model;
opens org.monterinio.games.asteroids.player.model.rotation;
...
或者只需打开整个模块:
open module asteroids {
...
}
打开正在测试的包解决了问题:
package.info
...
// needs to be opened for testing
opens org.monterinio.games.asteroids.player.model;
opens org.monterinio.games.asteroids.player.model.rotation;
...
或者只需打开整个模块:
open module asteroids {
...
}
好?实际上,我在任何地方都看不到任何名为
gameObject
的属性,这甚至假定您忽略了getter和setter。我看到了一个player
字段,虽然这可能是一个属性的私有最终
支持字段。哦,说得好。但是,更改为player
或将其设置为private final
似乎都没有帮助。IIRC groovy仍然使用一些反射,因此您可能会遇到--非法访问=拒绝
的问题。请提供一个。缺少类和不完整的POM并没有特别的帮助,是吗?实际上,我在任何地方都看不到任何名为gameObject
的属性,这甚至假定您忽略了getter和setter。我看到了一个player
字段,虽然这可能是一个属性的私有最终
支持字段。哦,说得好。但是,更改为player
或将其设置为private final
似乎都没有帮助。IIRC groovy仍然使用一些反射,因此您可能会遇到--非法访问=拒绝
的问题。请提供一个。缺少类和不完整的POM并没有特别的帮助。