【问题标题】:Angular Jasmine Tests Fail When Running In Linux - Unable to Locate PhantomJS Binary在 Linux 中运行时,Angular Jasmine 测试失败 - 无法找到 PhantomJS 二进制文件
【发布时间】:2016-04-17 20:05:03
【问题描述】:

上下文:

我对 jasmine 完全陌生,在使用 AngularJS 时只有一点经验。我实施了一些非常基本的 Jasmine 测试,以确保在实施实际的 jasmine 测试之前可以正常运行这些测试。 该项目使用 Maven 运行。 测试通过 jasmine maven 插件运行。 尽管在本地工作,但尝试在 IBM 的 Bluemix Build & Deploy 管道中构建项目时会出现问题。

这里是测试:

测试 1 在本地和云端都运行良好

describe('JavaScript addition operator', function () {
    it('adds two numbers together', function () {
        expect(1 + 2).toEqual(3);
    });
});

测试 2 在本地运行良好,但在云端失败

describe("App", function() {

    beforeEach(module('mainjs'));
    var ctrl, scope;

    beforeEach(inject(function($controller, $rootScope) {
        scope = $rootScope.$new();
        ctrl = $controller("studentHome", {
            $scope : scope
        });
    }));

    it("testing", function() {
         expect(1 + 2).toEqual(3);
    })
});

使用 Jasmine Maven 插件运行测试

           <plugin>
                <groupId>com.github.searls</groupId>
                <artifactId>jasmine-maven-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <preloadSources>
                        <source>webjars/jquery.js</source>
                        <source>jasmine-jquery</source>
                        <source>webjars/angular.js</source>
                        <source>webjars/angular-mocks.js</source>
                        <source>webjars/angular-route.js</source>
                    </preloadSources>
                    <jsSrcDir>${project.basedir}/src/main/resources/static/js</jsSrcDir>
                    <jsTestSrcDir>${project.basedir}/src/test/resources/static/js</jsTestSrcDir>
                    <specIncludes>
                        <include>*Spec.js</include>
                    </specIncludes>
                </configuration>
            </plugin>

这里有多个错误,可能是互相引起的:

无法安装 phantomjs

[INFO] Downloading: http://repo.maven.apache.org/maven2/com/github/klieber/phantomjs/2.0.0/phantomjs-2.0.0-linux-x86_64.tar.bz2
[DEBUG] Writing tracking file /home/pipeline/.m2/repository/com/github/klieber/phantomjs/2.0.0/phantomjs-2.0.0-linux-x86_64.tar.bz2.lastUpdated
[ERROR] Unable to locate phantomjs binary
com.github.klieber.phantomjs.install.InstallationException: Unable to install phantomjs.
    at com.github.klieber.phantomjs.install.PhantomJsInstaller.install(PhantomJsInstaller.java:55)
    at com.github.klieber.phantomjs.locate.ArchiveLocator.locate(ArchiveLocator.java:45)
    at com.github.klieber.phantomjs.locate.CompositeLocator.locate(CompositeLocator.java:39)
    at com.github.klieber.phantomjs.locate.PhantomJsLocator.locate(PhantomJsLocator.java:58)
    at com.github.searls.jasmine.driver.WebDriverFactory.createPhantomJsWebDriver(WebDriverFactory.java:145)
    at com.github.searls.jasmine.driver.WebDriverFactory.createWebDriver(WebDriverFactory.java:68)
    at com.github.searls.jasmine.mojo.TestMojo.createDriver(TestMojo.java:264)
    at com.github.searls.jasmine.mojo.TestMojo.executeSpecs(TestMojo.java:235)
    at com.github.searls.jasmine.mojo.TestMojo.run(TestMojo.java:204)
    at com.github.searls.jasmine.mojo.AbstractJasmineMojo.execute(AbstractJasmineMojo.java:385)
    at com.github.searls.jasmine.mojo.TestMojo.execute(TestMojo.java:191)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:495)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: com.github.klieber.phantomjs.download.DownloadException: Unable to resolve artifact.
    at com.github.klieber.phantomjs.download.RepositoryDownloader.download(RepositoryDownloader.java:64)
    at com.github.klieber.phantomjs.install.PhantomJsInstaller.install(PhantomJsInstaller.java:52)
    ... 31 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact com.github.klieber:phantomjs:tar.bz2:linux-x86_64:2.0.0 in central (http://repo.maven.apache.org/maven2)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:459)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:239)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:295)
    at com.github.klieber.phantomjs.download.RepositoryDownloader.download(RepositoryDownloader.java:58)
    ... 32 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.github.klieber:phantomjs:tar.bz2:linux-x86_64:2.0.0 in central (http://repo.maven.apache.org/maven2)
    at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1012)
    at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1004)
    at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:725)
    at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.lang.Thread.run(Thread.java:785)

- 无法实例化模式 ng,原因是:TypeError: 'undefined' is not an object

 J A S M I N E   S P E C S
-------------------------------------------------------
[INFO] 
JavaScript addition operator
  adds two numbers together

App
  testing <<< FAILURE!
    * Error: [$injector:modulerr] Failed to instantiate module ng due to:
TypeError: 'undefined' is not an object (evaluating 'Function.prototype.bind.apply')
    at instantiate (http://localhost:38192/webjars/angular.js:4640)
    at provider (http://localhost:38192/webjars/angular.js:4454)
    at http://localhost:38192/webjars/angular.js:365
    at forEach (http://localhost:38192/webjars/angular.js:335)
    at http://localhost:38192/webjars/angular.js:4444
    at ngModule (http://localhost:38192/webjars/angular.js:2494)
    at invoke (http://localhost:38192/webjars/angular.js:4625)
    at runInvokeQueue (http://localhost:38192/webjars/angular.js:4518)
    at http://localhost:38192/webjars/angular.js:4527
    at forEach (http://localhost:38192/webjars/angular.js:321)
    at loadModules (http://localhost:38192/webjars/angular.js:4550)
    at createInjector (http://localhost:38192/webjars/angular.js:4430)
    at workFn (http://localhost:38192/webjars/angular-mocks.js:2922)
    at attemptSync (http://localhost:38192/webjars/jasmine/jasmine.js:1886)
    at http://localhost:38192/webjars/jasmine/jasmine.js:1874
    at http://localhost:38192/webjars/jasmine/jasmine.js:1859
    at http://localhost:38192/webjars/jasmine/jasmine.js:697
    at http://localhost:38192/webjars/jasmine/jasmine.js:363
    at http://localhost:38192/webjars/jasmine/jasmine.js:2479
    at attemptAsync (http://localhost:38192/webjars/jasmine/jasmine.js:1916)
    at http://localhost:38192/webjars/jasmine/jasmine.js:1871
    at http://localhost:38192/webjars/jasmine/jasmine.js:1859
    at http://localhost:38192/webjars/jasmine/jasmine.js:697
    at http://localhost:38192/webjars/jasmine/jasmine.js:2473
    at attemptAsync (http://localhost:38192/webjars/jasmine/jasmine.js:1916)
    at http://localhost:38192/webjars/jasmine/jasmine.js:1871
    at http://localhost:38192/webjars/jasmine/jasmine.js:1898
    at http://localhost:38192/webjars/jasmine/jasmine.js:1842
    at http://localhost:38192/webjars/jasmine/jasmine.js:2467
    at clearStack (http://localhost:38192/webjars/jasmine/jasmine.js:660)
    at http://localhost:38192/webjars/jasmine/jasmine.js:1881
    at http://localhost:38192/webjars/jasmine/jasmine.js:1898
    at http://localhost:38192/webjars/jasmine/jasmine.js:1842
    at complete (http://localhost:38192/webjars/jasmine/jasmine.js:371)
    at clearStack (http://localhost:38192/webjars/jasmine/jasmine.js:660)
    at http://localhost:38192/webjars/jasmine/jasmine.js:1881
    at http://localhost:38192/webjars/jasmine/jasmine.js:1859
    at http://localhost:38192/webjars/jasmine/jasmine.js:697
    at http://localhost:38192/webjars/jasmine/jasmine.js:363
    at http://localhost:38192/webjars/jasmine/jasmine.js:2479
    at attemptAsync (http://localhost:38192/webjars/jasmine/jasmine.js:1916)
    at http://localhost:38192/webjars/jasmine/jasmine.js:1871
    at http://localhost:38192/webjars/jasmine/jasmine.js:1859
    at http://localhost:38192/webjars/jasmine/jasmine.js:697
    at http://localhost:38192/webjars/jasmine/jasmine.js:2473
    at attemptAsync (http://localhost:38192/webjars/jasmine/jasmine.js:1916)
    at http://localhost:38192/webjars/jasmine/jasmine.js:1871
    at http://localhost:38192/webjars/jasmine/jasmine.js:1859
    at http://localhost:38192/webjars/jasmine/jasmine.js:697
    at http://localhost:38192/webjars/jasmine/jasmine.js:2332
    at http://localhost:38192/webjars/jasmine/jasmine.js:761
    at http://localhost:38192/webjars/jasmine/boot.js:141
http://errors.angularjs.org/1.5.3/$injector/modulerr?p0=ng&p1=TypeError%3A%20'undefined'%20is%20not%20an%20object%20(evaluating%20'Function.prototype.bind.apply')%0A%20%20%20%20at%20instantiate%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4640)%0A%20%20%20%20at%20provider%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4454)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A365%0A%20%20%20%20at%20forEach%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A335)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4444%0A%20%20%20%20at%20ngModule%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A2494)%0A%20%20%20%20at%20invoke%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4625)%0A%20%20%20%20at%20runInvokeQueue%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4518)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4527%0A%20%20%20%20at%20forEach%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A321)%0A%20%20%20%20at%20loadModules%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4550)%0A%20%20%20%20at%20createInjector%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular.js%3A4430)%0A%20%20%20%20at%20workFn%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fangular-mocks.js%3A2922)%0A%20%20%20%20at%20attemptSync%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1886)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1874%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1859%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A697%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A363%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A2479%0A%20%20%20%20at%20attemptAsync%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1916)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1871%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1859%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A697%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A2473%0A%20%20%20%20at%20attemptAsync%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1916)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1871%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1898%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1842%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A2467%0A%20%20%20%20at%20clearStack%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A660)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1881%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1898%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1842%0A%20%20%20%20at%20complete%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A371)%0A%20%20%20%20at%20clearStack%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A660)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1881%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1859%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A697%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A363%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A2479%0A%20%20%20%20at%20attemptAsync%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1916)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1871%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1859%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A697%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A2473%0A%20%20%20%20at%20attemptAsync%20(http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1916)%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1871%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A1859%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A697%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A2332%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fjasmine.js%3A761%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A38192%2Fwebjars%2Fjasmine%2Fboot.js%3A141 in http://localhost:38192/webjars/angular.js (line 4548)

- 规格故障

 Results: 2 specs, 1 failures, 0 pending

 ...


[ERROR] Failed to execute goal com.github.searls:jasmine-maven-plugin:2.1:test (default) on project StudyPlanner: There were Jasmine spec failures. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.searls:jasmine-maven-plugin:2.1:test (default) on project StudyPlanner: There were Jasmine spec failures.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:495)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoFailureException: There were Jasmine spec failures.
    at com.github.searls.jasmine.mojo.TestMojo.throwAnySpecFailures(TestMojo.java:308)
    at com.github.searls.jasmine.mojo.TestMojo.run(TestMojo.java:206)
    at com.github.searls.jasmine.mojo.AbstractJasmineMojo.execute(AbstractJasmineMojo.java:385)
    at com.github.searls.jasmine.mojo.TestMojo.execute(TestMojo.java:191)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    ... 19 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

在本地运行时,这工作正常。我假设错误与初始化控制器有关,但我很难理解为什么在非本地运行时这会突然成为一个问题(考虑到我们使用 maven 来管理依赖项并且预加载的源包含在插件的配置)。

此外,上述错误并没有给我太多信息,任何有关如何获取扩展日志或更大方向的指示都会非常有帮助。

更新 看起来 PhantomJS 的版本(2.0.0)可能是问题所在,但我不确定要下载的版本在哪里定义。考虑到 jasmine 插件版本,这是默认的吗? https://github.com/klieber/phantomjs-maven-plugin/issues/35

【问题讨论】:

    标签: angularjs maven jasmine phantomjs ibm-cloud


    【解决方案1】:

    不确定这是修复还是解决方法,但我在 phantomhjs-maven-plugin 中添加了强制检索 phantomjs 的版本 2.1.1 以供 jasmine 使用。这是两个插件一起使用。

               <plugin>
                    <groupId>com.github.klieber</groupId>
                    <artifactId>phantomjs-maven-plugin</artifactId>
                    <version>0.7</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>install</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <version>2.1.1</version>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.github.searls</groupId>
                    <artifactId>jasmine-maven-plugin</artifactId>
                    <version>2.1</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>test</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <preloadSources>
                            <source>webjars/jquery.js</source>
                            <source>jasmine-jquery</source>
                            <source>webjars/angular.js</source>
                            <source>webjars/angular-mocks.js</source>
                            <source>webjars/angular-route.js</source>
                        </preloadSources>
                        <jsSrcDir>${project.basedir}/src/main/resources/static/js</jsSrcDir>
                        <jsTestSrcDir>${project.basedir}/src/test/resources/static/js</jsTestSrcDir>
                        <specIncludes>
                            <include>*Spec.js</include>
                        </specIncludes>
                        <webDriverClassName>org.openqa.selenium.phantomjs.PhantomJSDriver</webDriverClassName>
                        <webDriverCapabilities>
                            <capability>
                                <name>phantomjs.binary.path</name>
                                <value>${phantomjs.binary}</value>
                            </capability>
                        </webDriverCapabilities>
                    </configuration>
                </plugin>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多