1

有人可以解释这段代码对我做了什么吗?我不明白这些system.debug行的目的。

Test.startTest();
// 1. First check to see if it's a brand new Owner ID
System.debug('first test'); // Creating a new opportunity to start Trigger
Opportunity newtestOpp1 = TestUtil.initOpportunity(TestUtil.initAccount(),TestUtil.initContact());
User testUser1 = TestUtil.initUser(); 
newtestOpp1.OwnerId = testUser1.Id;//setting OwnerId
System.debug('The opp owner should be null' + newtestOpp1.Op_Owner__c);
try{        
    insert newtestOpp1;
} catch ( DMLException d ) {
    System.debug(d);
}
System.debug('The opp owner should not be null' + newtestOpp1.Op_Owner__c);
4

1 回答 1

1

在我看来,它应该是测试某种工作流或触发器是否Op_Owner__c在插入机会记录时在字段中设置值。如果测试旨在实际验证应用程序的功能,则调试语句实际上应该是System.assert或调用。System.assertEquals在测试用例执行期间通常不会查看调试语句。

这是一个经过清理的版本,它实际上对Op_Owner__c字段的值进行断言(这是测试用例的目的),而不仅仅是在调试日志中打印一些内容。

Test.startTest();
Opportunity newtestOpp1 = TestUtil.initOpportunity(TestUtil.initAccount(),TestUtil.initContact());
User testUser1 = TestUtil.initUser(); 
newtestOpp1.OwnerId = testUser1.Id;//setting OwnerId
System.assertEquals(null, newtestOpp1.Op_Owner__c, 'The opp owner should be null');
try{        
    insert newtestOpp1;
} catch ( DMLException d ) {
    System.debug(d);
}
System.assertNotEquals(null, newtestOpp1.Op_Owner__c, 'The opp owner should not be null');
于 2013-06-05T20:57:07.780 回答