Плагин Jasmine Maven с angularjs: ReferenceError: модуль не определен - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь использовать жасмин для моего проекта Maven. Я могу проверить нормальный код javascript, но когда я пытаюсь проверить мой код angularjs, он просто возвращает

'ReferenceError: модуль не определен'.

My pom. xml file:

<plugin>
    <groupId>com.github.eirslett</groupId>
    <artifactId>frontend-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <installDirectory>target</installDirectory>
        <workingDirectory>${basedir}</workingDirectory>
    </configuration>
    <executions>
        <execution>
            <id>npm build</id>
            <goals>
                <goal>npm</goal>
            </goals>
            <configuration>
                <arguments>run build</arguments>
            </configuration>
        </execution>
    </executions>
</plugin>
<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>https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.js</source>
            <source>https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-resource.js</source>
            <source>${basedir}/src/app/app.js</source>
        </preloadSources>
        <jsSrcDir>${basedir}/src/app</jsSrcDir>
        <jsTestSrcDir>${basedir}/test/javascript</jsTestSrcDir
        <webDriverClassName>org.openqa.selenium.phantomjs.PhantomJSDriver</webDriverClassName>
        <webDriverCapabilities>
            <capability>
                <name>phantomjs.binary.path</name>
                <value>${phantomjs.binary}</value>
            </capability>
        </webDriverCapabilities>
    </configuration>
</plugin>

My spe c file:

describe('The application controller', function() {
  var controller;
  beforeEach(function() {
    module("MyApp");
    inject(function(_$rootScope_, $controller) {
      controller = $controller("MyController", {$scope: $scope});
    });
  });

      it("Should say hello", function() {
        expect(controller.message).toBe("Hello");
      });

    });

Также у меня есть несколько модулей, с 'MyApp' как родительский модуль и все другие модули как дочерние модули модуля MyApp. Я хотел знать, как эффективно использовать контроллеры из каждого дочернего модуля. А также какова польза от angular -mocks?

Что касается «Ошибка ссылки: модуль не определен», я думаю, что я что-то упустил. Любая помощь будет оценена?

...