grunt-cucumber没有运行step_definitions

时间:2014-11-24 18:59:07

标签: node.js gruntjs cucumberjs

我试图创建一个grunt任务来运行cucumber.js测试。测试按功能和区域组织。在我的项目中,例如:

project_root
    --test
        --spec-e2e
            --home_Page
                --features
                --step_definitions

从我的项目的node_modules目录中,我可以手动运行cucumber.js,一切顺利:

$ node cucumber.js ../../../test/spec-e2e/home_Page/features/

输出:

1 scenario (1 passed)
3 steps (3 passed)

我似乎无法正确配置grunt-cucumber任务来重新创建相同的结果。 在我的Gruntfile.js中,我有以下配置:

 // Cucumber test runner
    cucumberjs: {
      src: 'test/spec-e2e/home_Page/features',
      options: {
        steps: 'test/spec-e2e/home_Page/features/step_definitions',
        format: 'pretty'
      }
    }
    ...
//Register task
grunt.registerTask('cucumber', ['cucumberjs']);

运行$ grunt cucumber只允许输出:

$ Running "cucumberjs:src" (cucumberjs) task

$ Done, without errors.

所以我没有收到任何错误或黄瓜摘要输出。如果我故意编辑我的一个step_definitions失败,结果总是一样的。有人能告诉我如何正确配置吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

请仔细阅读以下文档:

Grunt cucumber js docs

此代码对我有用:

     grunt.initConfig({
           cucumberjs: {
                    all: {
                        src: 'features',
                        options: {
                            backtrace: true,
                            useShortStackTraces: false,
                            format: "json:<path where want to write json report>",
                            steps: 'features',
                            tags: grunt.option('feature')

                        }
                    }   
        });

    grunt.registerTask('default', ['cucumberjs:all']);