我正在尝试运行一个非常简单的集成测试并继续收到此错误:
Caused an ERROR
No signature of method: com.ra.EquipmentTests.assertNotNull() is applicable for argument types: (com.ra.equipment.Equipment) values: [com.ra.equipment.Equipment : 1]
groovy.lang.MissingMethodException: No signature of method: com.ra.EquipmentTests.assertNotNull() is applicable for argument types: (com.ra.equipment.Equipment) values: [com.ra.equipment.Equipment : 1]
at com.ra.EquipmentTests.testSomething(EquipmentTests.groovy:27)
有问题的课程和考试:
class Equipment {
static hasMany = [pixes: Pix]
static constraints = {
}
}
class Pix {
def Equipment equipment
static belongsTo = [Equipment]
static constraints = {
}
}
class EquipmentTests {
@Before
void setUp() {
// Setup logic here
}
@After
void tearDown() {
// Tear down logic here
}
@Test
void testSomething() {
def equipment = new Equipment()
//assertNull equipment.pixes
assertNotNull equipment.save()
}
}
我正在使用Grails rc1和Groovy 1.7.8,因为这一切都令人尴尬,所有这些都是最受欢迎的。
答案 0 :(得分:1)
答案 1 :(得分:1)
您应该使用@TestFor(Equipment)
注释,而不是扩展GrailsUnitTestCase
或其他。
Grails 1.3.x及以下版本使用了grails.test.GrailsUnitTestCase类 用于以JUnit 3样式进行测试的层次结构。 Grails 2.0.x及以上版本 弃用这些测试工具,转而使用mixins 适用于各种不同的测试(JUnit 3,Junit 4, Spock等)没有子类化