2015-12-18 45 views
2

我已经安装了天鹅,当我做了测试我有4个错误,2 com.telefonica.iot.cygnus.utils.TestUtils.txt文件和其他2 com.telefonica.iot.cygnus.utils .TestConstants.txt。天鹅测试问题

的错误是如下:

#more com.telefonica.iot.cygnus.utils.TestConstants.txt 
------------------------------------------------------------------------------- Test set: com.telefonica.iot.cygnus.utils.TestConstants 
------------------------------------------------------------------------------- Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.009 sec <<< FAILURE! initializationError(com.telefonica.iot.cygnus.utils.TestConstants) Time elapsed: 0.003 sec <<< ERROR! java.lang.Exception: Test class should have exactly one public constructor 
     at org.junit.runners.BlockJUnit4ClassRunner.validateOnlyOneConstructor(BlockJUnit4ClassRunner.java:134) 
     at org.junit.runners.BlockJUnit4ClassRunner.validateConstructor(BlockJUnit4ClassRunner.java:123) 
     at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:103) 
     at org.junit.runners.ParentRunner.validate(ParentRunner.java:355) 
     at org.junit.runners.ParentRunner.<init>(ParentRunner.java:76) 
     at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:57) 
     at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) 
     at org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:45) 
     at org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:56) 
     at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:96) 
     at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209) 
     at org.apache.maven.surefire.Surefire.run(Surefire.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) 
     at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) 

initializationError(com.telefonica.iot.cygnus.utils.TestConstants) Time elapsed: 0 sec <<< ERROR! java.lang.Exception: No runnable methods 
     at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:169) 
     at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:104) 
     at org.junit.runners.ParentRunner.validate(ParentRunner.java:355) 
     at org.junit.runners.ParentRunner.<init>(ParentRunner.java:76) 
     at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:57) 
     at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) 
     at org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:45) 
     at org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:56) 
     at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:96) 
     at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209) 
     at org.apache.maven.surefire.Surefire.run(Surefire.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) 
     at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) 


# more com.telefonica.iot.cygnus.utils.TestUtils.txt 
------------------------------------------------------------------------------- Test set: com.telefonica.iot.cygnus.utils.TestUtils 
------------------------------------------------------------------------------- Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.003 sec <<< FAILURE! initializationError(com.telefonica.iot.cygnus.utils.TestUtils) Time elapsed: 0 sec <<< ERROR! java.lang.Exception: Test class should have exactly one public constructor 
     at org.junit.runners.BlockJUnit4ClassRunner.validateOnlyOneConstructor(BlockJUnit4ClassRunner.java:134) 
     at org.junit.runners.BlockJUnit4ClassRunner.validateConstructor(BlockJUnit4ClassRunner.java:123) 
     at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:103) 
     at org.junit.runners.ParentRunner.validate(ParentRunner.java:355) 
     at org.junit.runners.ParentRunner.<init>(ParentRunner.java:76) 
     at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:57) 
     at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) 
     at org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:45) 
     at org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:56) 
     at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:96) 
     at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209) 
     at org.apache.maven.surefire.Surefire.run(Surefire.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) 
     at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) 

initializationError(com.telefonica.iot.cygnus.utils.TestUtils) Time elapsed: 0 sec <<< ERROR! java.lang.Exception: No runnable methods 
     at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:169) 
     at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:104) 
     at org.junit.runners.ParentRunner.validate(ParentRunner.java:355) 
     at org.junit.runners.ParentRunner.<init>(ParentRunner.java:76) 
     at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:57) 
     at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
     at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) 
     at org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:45) 
     at org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:56) 
     at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:96) 
     at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209) 
     at org.apache.maven.surefire.Surefire.run(Surefire.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) 
     at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) 

的agent.conf文件是:

cygnusagent.sources = http-source 
cygnusagent.sinks = ckan-sink mongo-sink 
cygnusagent.channels = ckan-channel mongo-channel 

#============================================= 
# source configuration 
# channel name where to write the notification events 

cygnusagent.sources.http-source.channels = ckan-channel mongo-channel 
# source class, must not be changed 
cygnusagent.sources.http-source.type = org.apache.flume.source.http.HTTPSource 
# listening port the Flume source will use for receiving incoming notifications 
cygnusagent.sources.http-source.port = 5050 
# Flume handler that will parse the notifications, must not be changed 
cygnusagent.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.OrionRestHandler 

# URL target 
cygnusagent.sources.http-source.handler.notification_target = /notify 
# Default service (service semantic depends on the persistence sink) 
cygnusagent.sources.http-source.handler.default_service = def_serv 
# Default service path (service path semantic depends on the persistence sink) 
cygnusagent.sources.http-source.handler.default_service_path = def_servpath 
# Number of channel re-injection retries before a Flume event is definitely discarded (-1 means infinite retries) 
cygnusagent.sources.http-source.handler.events_ttl = 10 
# Source interceptors, do not change 
cygnusagent.sources.http-source.interceptors = ts gi 
# TimestampInterceptor, do not change 
cygnusagent.sources.http-source.interceptors.ts.type = timestamp 
# GroupinInterceptor, do not change 
cygnusagent.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.GroupingInterceptor$Builder 

# Grouping rules for the GroupingInterceptor, put the right absolute path to the file if necessary 
# See the doc/design/interceptors document for more details 
###cygnusagent.sources.http-source.interceptors.gi.grouping_rules_conf_file = /usr/cygnus/conf/grouping_rules_1.conf 
# ============================================ 
# OrionCKANSink configuration 
# channel name from where to read notification events 
cygnusagent.sinks.ckan-sink.channel = ckan-channel 
# sink class, must not be changed 
cygnusagent.sinks.ckan-sink.type = com.telefonica.iot.cygnus.sinks.OrionCKANSink 
# true if the grouping feature is enabled for this sink, false otherwise 
cygnusagent.sinks.ckan-sink.enable_grouping = false 
# the CKAN API key to use 
cygnusagent.sinks.ckan-sink.api_key = ckanapikey 
# the FQDN/IP address for the CKAN API endpoint 
cygnusagent.sinks.ckan-sink.ckan_host = CKANIP 
# the port for the CKAN API endpoint 
cygnusagent.sinks.ckan-sink.ckan_port = CKANPORT 
# Orion URL used to compose the resource URL with the convenience operation URL to query it 
cygnusagent.sinks.ckan-sink.orion_url = http://localhost:1026 
# how the attributes are stored, either per row either per column (row, column) 
cygnusagent.sinks.ckan-sink.attr_persistence = row 
# enable SSL for secure Http transportation; 'true' or 'false' 
cygnusagent.sinks.ckan-sink.ssl = false 
# number of notifications to be included within a processing batch 
cygnusagent.sinks.ckan-sink.batch_size = 100 
# timeout for batch accumulation 
cygunsagent.sinks.ckan-sink.batch_timeout = 30 

# ============================================ 
# OrionMongoSink configuration 
# sink class, must not be changed 
cygnusagent.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.OrionMongoSink 
# channel name from where to read notification events 
cygnusagent.sinks.mongo-sink.channel = mongo-channel 
# true if the grouping feature is enabled for this sink, false otherwise 
cygnusagent.sinks.mongo-sink.enable_grouping = false 
# FQDN/IP:port where the MongoDB server runs (standalone case) or comma-separated list of FQDN/IP:port pairs where the MongoDB replica set members run 
cygnusagent.sinks.mongo-sink.mongo_hosts = ORIONIP:ORIONPORT 
# a valid user in the MongoDB server (or empty if authentication is not enabled in MongoDB) 
cygnusagent.sinks.mongo-sink.mongo_username = 
# password for the user above (or empty if authentication is not enabled in MongoDB) 
cygnusagent.sinks.mongo-sink.mongo_password = 
# prefix for the MongoDB databases 
###cygnusagent.sinks.mongo-sink.db_prefix = sth_ 
# prefix pro the MongoDB collections 
###cygnusagent.sinks.mongo-sink.collection_prefix = sth_ 
# true is collection names are based on a hash, false for human redable collections 
cygnusagent.sinks.mongo-sink.should_hash = false 

# specify if the sink will use a single collection for each service path, for each entity or for each attribute 
###cygnusagent.sinks.mongo-sink.data_model = collection-per-entity 
# how the attributes are stored, either per row either per column (row, column) 
###cygnusagent.sinks.mongo-sink.attr_persistence = column 
#============================================= 
# ckan-channel configuration 
# channel type (must not be changed) 
cygnusagent.channels.ckan-channel.type = memory 
# capacity of the channel 
cygnusagent.channels.ckan-channel.capacity = 1000 
# amount of bytes that can be sent per transaction 
cygnusagent.channels.ckan-channel.transactionCapacity = 100 
#============================================= 
# mongo-channel configuration 
# channel type (must not be changed) 
cygnusagent.channels.mongo-channel.type = memory 
# capacity of the channel 
cygnusagent.channels.mongo-channel.capacity = 1000 
# amount of bytes that can be sent per transaction 
cygnusagent.channels.mongo-channel.transactionCapacity = 100 

有人能帮助我吗?

谢谢

+0

这是你正在运行的确切命令?你使用哪种版本的天鹅座? – frb

+0

cygnus版本是cygnus-0.11.0-1.g2a9c87f.x86_64,我检查了手册中提到的测试。 http://fiware-cygnus.readthedocs.org/en/latest/installation_and_administration_guide/testing/index.html – urkosimon

+0

我已经测试过它,它适用于我,可以在此pastebin中看到:http://pastebin.com/EXJqci1c – frb

回答

0

有必要将Maven更新到最新版本。 我已经安装了Maven v.3.3.9,现在没有出现错误。