2015-10-14 55 views
0

在执行这个测试用例时,我遇到了以下错误... 请有人建议我克服这个问题。LinkedHashMap问题...任何人都帮我解决

AbortedJobImportTest 


testAbortedJobAddedSuccessfullyToExcludedRun  


Unknown entity: java.util.LinkedHashMap 
org.hibernate.MappingException: Unknown entity: java.util.LinkedHashMap 
    at com.rsa.test.crawler.CrawlerTestBase.setUp(CrawlerTestBase.groovy:42) 
    at com.rsa.test.crawler.AbortedJobImportTest.setUp(AbortedJobImportTest.groovy:19) 

/*
***

CrawlerTestBase 

    public class CrawlerTestBase extends GroovyTestCase { 
     static transactional = false; 
     def productsModel; 
     protected JenkinsJobCrawlerDTO jenkinsCrawlerDTO; 
     def jenkinsJobService; 
     def httpClientService; 
     def sessionFactory; 
     def productModelsService; 
     protected String JENKINS_URL = "http://10.101.43.253:8080/jenkins/"; 
     protected String JENKINS_JOB_CONSTANT= "job"; 
     protected String JUNIT_TEST_PARAMETERS = "type=junit"; 
     protected String CUSTOM_JUNIT_SELENIUM_TEST_PARAMETERS = "type=selenium,outputfile=Custom-junit-report*"; 
     protected String DEFAULT_PRODUCT = "AM"; 

     public void setUp(){ 
      deleteDataFromTables(); 
      Date date = new Date(); 

      productsModel = new ProductModel(product:DEFAULT_PRODUCT,jenkinsServers:"10.101.43.253",date:date); 
      if (productsModel.validate()) { 
       productsModel.save(flush:true); 
       log.info("Added entry for prodct model for "+DEFAULT_PRODUCT); 
      } 
      else { 
       productsModel.errors.allErrors.each { log.error it } 
      } 
      jenkinsCrawlerDTO = new JenkinsJobCrawlerDTO(); 
      productModelsService.reinitialise(); 
      sessionFactory.currentSession.save(flush:true); 
      sessionFactory.currentSession.clear(); 
     } 

     public void tearDown(){ 
      deleteDataFromTables(); 
     } 

     protected void deleteDataFromTables(){ 
      Set<String> tablesToDeleteData = new HashSet<String>(); 
      tablesToDeleteData.add("ExcludedJenkinsRuns"); 
      tablesToDeleteData.add("TestRuns"); 
      tablesToDeleteData.add("ProductModel"); 
      tablesToDeleteData.add("SystemEvents"); 
      tablesToDeleteData.add("JenkinsJobsToCrawl"); 
      tablesToDeleteData.add("TestSuitesInViewList"); 
      tablesToDeleteData.add("JenkinsJobsToCrawl"); 
      (ApplicationHolder.application.getArtefacts("Domain") as List).each { 
        if(tablesToDeleteData.contains(it.getName())){ 
         log.info("Deleting data from ${it.getName()}"); 
         it.newInstance().list()*.delete() 
        } 

      } 
      sessionFactory.currentSession.flush(); 
      sessionFactory.currentSession.clear(); 
     } 

     public void oneTimeSetUp(){ 

     } 

     public void oneTimeTearDown(){ 

     } 
    } 

AbortedJobImportTest

 public class AbortedJobImportTest extends CrawlerTestBase { 
     private String jobUrl = JENKINS_URL+JENKINS_JOB_CONSTANT+"/am-java-source-build/69/"; 

     @Before 
     public void setUp() { 
      super.setUp(); 
      jenkinsCrawlerDTO.setJobUrl(jobUrl); 
     } 

     @After 
     public void cleanup() { 
      super.tearDown(); 
     } 

     @Test 
     public void testAbortedJobAddedSuccessfullyToExcludedRun() { 
      int countBeforeImport = ExcludedJenkinsRuns.count(); 
      jenkinsJobService.handleTestResults(jobUrl,JUNIT_TEST_PARAMETERS); 
      int countAfterImport = ExcludedJenkinsRuns.count(); 
      Assert.assertEquals(countBeforeImport+1, countAfterImport); 
      ExcludedJenkinsRuns excludedRun = ExcludedJenkinsRuns.findByJobNameLike(jenkinsCrawlerDTO.jobName); 
      Assert.assertNotNull(excludedRun); 
      Assert.assertEquals(jobUrl, excludedRun.jobUrl); 
      Assert.assertEquals(jenkinsCrawlerDTO.jobName, excludedRun.jobName); 
      Assert.assertEquals(jenkinsCrawlerDTO.jenkinsServer, excludedRun.jenkinsServer); 
      Assert.assertEquals(jenkinsCrawlerDTO.buildNumber.toInteger(), excludedRun.buildNumber); 
      Assert.assertEquals("Build Aborted", excludedRun.exclusionReason); 
     } 

    } 
*/ 

我不能在此代码找出问题。谁能帮我? 在执行这个测试用例时,我遇到以下错误... 请有人建议我克服这个问题。

+0

什么是42行?它是productsModel =新的ProductModel ...?你的ProductModel是怎样的? – CyberAleks

+0

雅其productsModel = new ProductModel(产品:DEFAULT_PRODUCT,jenkinsServers:“10.101.43.253”,日期:日期)。 – Chengappa

+0

类产品型号{ \t静态映射= { \t \t表 “products_model” \t \t id列: “ID” \t \t产品柱: “产品” \t \t jenkinsServers柱: “jenkins_servers” \t \t日期列: “日期” \t \t版假 \t \t缓存真 \t} \t \t int id; \t弦乐产品; \t字符串jenkinsServers; \t日期日期; } – Chengappa

回答

相关问题