Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i use testng #41

Closed
choiks141 opened this issue Jul 8, 2015 · 9 comments
Closed

i use testng #41

choiks141 opened this issue Jul 8, 2015 · 9 comments

Comments

@choiks141
Copy link

i use jfairy in testng but i met error.
how can i?

Fairy fairy = Fairy.create();
Person person = fairy.person();
FAILED: UserAddFailed
java.lang.NoClassDefFoundError: com/google/inject/internal/util/$Maps
    at com.google.inject.assistedinject.BindingCollector.<init>(BindingCollector.java:34)
    at com.google.inject.assistedinject.FactoryModuleBuilder.<init>(FactoryModuleBuilder.java:206)
    at io.codearte.jfairy.FairyModule.configure(FairyModule.java:28)
    at io.codearte.jfairy.EnFairyModule.configure(EnFairyModule.java:24)
    at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:259)
    at com.google.inject.spi.Elements.getElements(Elements.java:109)
    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
    at com.google.inject.Guice.createInjector(Guice.java:96)
    at com.google.inject.Guice.createInjector(Guice.java:73)
    at com.google.inject.Guice.createInjector(Guice.java:62)
    at io.codearte.jfairy.Bootstrap.createFairy(Bootstrap.java:39)
    at io.codearte.jfairy.Bootstrap$Builder.build(Bootstrap.java:155)
    at io.codearte.jfairy.Bootstrap.create(Bootstrap.java:70)
    at io.codearte.jfairy.Fairy.create(Fairy.java:45)
    at me.dailylook.tests.user.UserAdd.UserAddFailed(UserAdd.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
    at org.testng.TestRunner.privateRun(TestRunner.java:767)
    at org.testng.TestRunner.run(TestRunner.java:617)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
    at org.testng.SuiteRunner.run(SuiteRunner.java:254)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
    at org.testng.TestNG.run(TestNG.java:1057)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.lang.ClassNotFoundException: com.google.inject.internal.util.$Maps
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 41 more
@jkubrynski
Copy link
Member

jkubrynski commented Jul 8, 2015 via email

@szpak
Copy link
Contributor

szpak commented Jul 8, 2015

In addition TestNG uses Guice internally. What TestNG version do you use? How do your dependencies look like (especially TestNG, Guava, Guice)?

@szpak
Copy link
Contributor

szpak commented Sep 4, 2015

@choiks141 Were you able to solve the problemwith dependencies?

@szpak
Copy link
Contributor

szpak commented Dec 3, 2015

Closing due to inactivity. @choiks141 feel free to reopen if needed.

@szpak szpak closed this as completed Dec 3, 2015
@joanolingay
Copy link

Hi @szpak I'm gettin an error related to this. I'm using Maven, TestNG

java.lang.NoClassDefFoundError: com/google/inject/assistedinject/FactoryModuleBuilder
at io.codearte.jfairy.FairyModule.configure(FairyModule.java:34)
at io.codearte.jfairy.EnFairyModule.configure(EnFairyModule.java:27)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.google.inject.spi.Elements.getElements(Elements.java:101)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:72)
at com.google.inject.Guice.createInjector(Guice.java:62)
at io.codearte.jfairy.Bootstrap.createFairy(Bootstrap.java:51)
at io.codearte.jfairy.Bootstrap$Builder.build(Bootstrap.java:218)
at io.codearte.jfairy.Bootstrap.create(Bootstrap.java:85)
at io.codearte.jfairy.Fairy.create(Fairy.java:46)

my dependencies are:

    <dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.8.7</version>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>15.0</version>
    </dependency>
    <dependency>
    <groupId>com.google.inject</groupId>
    <artifactId>guice</artifactId>
    <version>3.0</version>
    </dependency>

@szpak
Copy link
Contributor

szpak commented Apr 14, 2016

Strange. FactoryModuleBuilder is available in Guice since version 3.0.

Could you generate effective pom (mvn help:effective-pom) and paste entries related to TestNG and Guice?

@joanolingay
Copy link

<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.8.7</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>15.0</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>3.0</version>
  <scope>compile</scope>
</dependency>

@szpak
Copy link
Contributor

szpak commented Apr 14, 2016

The class seems to be packaged in guice-assistedinject package (instead of guice) - http://www.help4j.com/?className=FactoryModuleBuilder

Please try to change a dependency.

@joanolingay
Copy link

joanolingay commented Apr 15, 2016

Thanks @szpak it works after I change/added the following dependencies:

        <dependency>
            <groupId>com.google.inject.extensions</groupId>
            <artifactId>guice-assistedinject</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>org.iban4j</groupId>
            <artifactId>iban4j</artifactId>
            <version>2.1.1</version>
        </dependency>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants