C++ Cumber cpp运行示例所需的软件

C++ Cumber cpp运行示例所需的软件,c++,cucumber,cucumber-cpp,C++,Cucumber,Cucumber Cpp,在克隆和安装之后,我相信正确的方法-我遵循了我转到~\cumber\cumber\cpp\examples\Calc并键入cumber-init 我明白了 C:\Cucumber\Cucumber-cpp\examples\Calc>cucumber --init exist features exist features/step_definitions exist features/support exist features/support/env.r

在克隆和安装之后,我相信正确的方法-我遵循了我转到~\cumber\cumber\cpp\examples\Calc并键入cumber-init

我明白了

C:\Cucumber\Cucumber-cpp\examples\Calc>cucumber --init
  exist   features
  exist   features/step_definitions
  exist   features/support
  exist   features/support/env.rb
  Timed out calling wire server with message 'step_matches' (Timeout::Error)

C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/connection.rb:45:in `block in fetch_data_from_socket'
C:/Ruby/lib/ruby/2.4.0/timeout.rb:108:in `timeout'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/connection.rb:45:in `fetch_data_from_socket'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/connection.rb:22:in `call_remote'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/request_handler.rb:10:in `execute'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/protocol/requests.rb:14:in `execute'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/protocol.rb:8:in `step_matches'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/connections.rb:33:in `block in step_matches'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/connections.rb:33:in `map'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-wire-0.0.1/lib/cucumber/wire/connections.rb:33:in `step_matches'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/step_match_search.rb:20:in `call'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/step_match_search.rb:20:in `call'
C:/Ruby/lib/ruby/2.4.0/delegate.rb:83:in `method_missing'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/step_match_search.rb:62:in `call'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:66:in `matches'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:47:in `result'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:37:in `find_match'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:33:in `attempt_to_activate'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:29:in `map'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:29:in `new_test_steps'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:23:in `test_case'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:12:in `test_case'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/test/case.rb:25:in `describe_to'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/filters/activate_steps.rb:12:in `test_case'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/test/case.rb:25:in `describe_to'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/test/filters/locations_filter.rb:18:in `block in done
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/test/filters/locations_filter.rb:17:in `each'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/test/filters/locations_filter.rb:17:in `done'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/filter.rb:62:in `done'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/test/filters/tag_filter.rb:18:in `done'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/compiler.rb:24:in `done'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core/gherkin/parser.rb:37:in `done'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core.rb:32:in `parse'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-core-3.1.0/lib/cucumber/core.rb:21:in `compile'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/runtime.rb:75:in `run!'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/cli/main.rb:34:in `execute!'
C:/Ruby/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/bin/cucumber:9:in `<top (required)>'
C:/Ruby/bin/cucumber:23:in `load'
C:/Ruby/bin/cucumber:23:in `<main>'
根据我找到的任何信息,我也无法修复此问题。

答案:

Windows上的防火墙可能会导致问题,但通常您会看到一个弹出窗口,请求确认访问。您也可以尝试短暂禁用防火墙,以验证这是否是一个问题。 是的,虽然没有很好的解释,但项目的说明中定义的步骤应该是正确的。 不使用C++步骤定义启动有线服务器。 项目存储库中的指南可能是最好的起点,请确保遵循所有步骤。不幸的是,没有很好的文档。

黄瓜CPP目前的工作方式是让黄瓜Ruby连接到C++执行监听的TCP端口。当Cuffunb.Wire文件中定义了Wire协议时,用C++Wire协议服务器监听的主机和端口,C++ Ruby将尝试用黄瓜CPP运行它们。 C++是一种编译语言,因此必须首先编译步骤定义。提供的示例使用CMake,如自述文件中所述。Cucumber CPP需要链接到步骤定义以及它们通常在被测应用程序中使用的所有内容,创建一个可执行文件,该文件将侦听wire协议端口默认为localhost:3902,以便Cucumber Ruby在断开连接时连接和退出

                    +------------------------------------------+
                    |                                          |
+----------+        | +----------+  +----------+  +----------+ |
|          |        | |          |  |          |  |          | |
| Cucumber |        | | Cucumber |  | C++ Step |  | Your     | |
| Ruby     |--------->| CPP Wire |--| Defs     |--| CPP App  | |
|          |        | | Server   |  |          |  |          | |
|          |        | |          |  |          |  |          | |
+----------+        | +----------+  +----------+  +----------+ |
                    |                                          |
                    +------------------------------------------+

嗨,我刚回到Cucumber cpp,因为我有一个更进一步的IT障碍阻止了我进入它。现在我仍然面临同样的错误。然而,在示例中,Calc/Debug并运行它成功运行的一个.exe。尽管在endGreat解释中给出了一个失败的测试,但我还有另一个问题。cucumber.wire文件是否必要?是否可以在命令行或环境变量处进行输入,或以文件以外的任何其他方式进行连接?由于我有多个并行运行的wire服务器在不同的unix套接字上侦听,因此我希望在特定的wire服务器上运行特定的功能。非常感谢。
                    +------------------------------------------+
                    |                                          |
+----------+        | +----------+  +----------+  +----------+ |
|          |        | |          |  |          |  |          | |
| Cucumber |        | | Cucumber |  | C++ Step |  | Your     | |
| Ruby     |--------->| CPP Wire |--| Defs     |--| CPP App  | |
|          |        | | Server   |  |          |  |          | |
|          |        | |          |  |          |  |          | |
+----------+        | +----------+  +----------+  +----------+ |
                    |                                          |
                    +------------------------------------------+