3

我已经成功构建了我的 maven 项目,该项目使用jasmine-maven-plugin将源代码和测试 javascript 文件放在正确的位置。当我有一个简单的测试时,例如:

describe('true', function() {
    it('should be true', function() {
        expect(true).toBe(true);
    })
})

整个过程没有问题,所有的茉莉花规格都通过了。但是,当我尝试创建我在包含 target/jasmine/src 文件夹的文件之一中概述的对象的实例时,我收到“ReferenceError:“Stat”未定义”错误。

describe('stat test',function() {
    var stat = new Stat();

    it('get data',function() {
        stat.data = 13;
        expect(stat.getData()).toBe(13);
    });
});

js文件是否加载不正确?完全被这里难住了。

4

2 回答 2

4

茉莉花的设置是否正确?jasmine好像找不到你的js文件,这里有一个maven配置的例子:

<plugin>
        <groupId>com.github.searls</groupId>
        <artifactId>jasmine-maven-plugin</artifactId>
        <version>1.1.0</version>
        <executions>
            <execution>
                <goals>
                    <goal> test </goal>
                </goals>
            </execution>
         </executions>
         <configuration>
             <jsSrcDir> main/www/js </jsSrcDir>    <---HERE you define the source directory
             <haltOnFailure>false</haltOnFailure>
             <sourceIncludes>       <---- HERE you specifies which files you include into the test
                <include>libs/jquery-1.7.1.js</include>
                <include>libs/underscore.js</include>
                <include>**/*.js</include>
             </sourceIncludes>
             <sourceExcludes> <----- HERE you define the files that you exclude
                  <exclude>jsonresponses-mock.js</exclude>
                  <exclude>libs/jquery.mockjax.js</exclude>
             </sourceExcludes>
             <jsTestSrcDir> test/www/fakeJs </jsTestSrcDir> <---Define your Test source Dir
                   <haltOnFailure>true</haltOnFailure>
                   <browserVersion>FIREFOX_3</browserVersion>
                   <serverPort>8234</serverPort>
                   <specDirectoryName>specs</specDirectoryName>
         </configuration>
</plugin>

在这个页面的底部: http: //searls.github.com/jasmine-maven-plugin你有所有可能的标签。检查您的 pom 是否以正确的方式使用...希望它可以提供帮助!

于 2012-07-03T21:04:34.367 回答
1

在经历了很大的精神压力并且运气不佳之后,我只是修改了插件以忽略感知到的 javascript 错误,以便一切都可以编译。瞧,这一切都奏效了!脚本只是乱序添加。对于那些感兴趣的人,我在 TestMojo.java 的第 90 行添加了“client.setThrowExceptionOnScriptError(false)”,所以现在当标签设置为 false(默认)时,javascript 错误将被忽略。

于 2012-07-11T23:10:51.783 回答