ホームページ  >  に質問  >  本文

ruby - rails里面的feature文件是干什么用的?平时用的多吗?

我看了一下,好像还是语义化的,非常神奇,这个特性是怎么用的呢?

Then "I should be served coffee" do
  @machine.dispensed_drink.should == "coffee"
end
高洛峰高洛峰2710日前771

全員に返信(3)返信します

  • 黄舟

    黄舟2017-04-24 09:11:29

    これは Rails のものではなく、Cucumber のステップ定義です。表示されている部分は、アサーションをテストするためのコードです。 Cucumber は自然言語に近い DSL を使用しているため、構文は非常に使いやすいです。ただし、プログラマ自身は、主に商用テスト スクリプトに使用される Cucumber のスタイルを追求しません。プログラマ自身は手続き型構文を好み、Ruby の世界では MiniTest と RSpec がより一般的なテスト フレームワークです。


    追記、よく考えたらこれはCucumberではないかもしれません。最初は Then メソッドのせいだと思ったのですが、Cucumber は Scenario で Then を使用しているようですよね。 (記憶があいまい)Then 这个方法,但是 Cucumber 似乎是在 Scenario 里才用 Then 吧?(记忆模糊)

    若说是 RSpec 之类,有 Then

    RSpec などの場合、Then はありますか?おそらく拡張DSLでしょうか?その可能性はあるので、Cucumber であると早合点するのは間違いかもしれません。

    とにかく、これは間違いなくテストコードであり、Rails 自体には属しません。 🎜

    返事
    0
  • PHP中文网

    PHP中文网2017-04-24 09:11:29

    使用法に関しては、機能は機能テストケースを作成するために使用されます。Cucumber に限定されず、RSpec でもこれを使用できます (https://github.com/agilejzl/blog-eye/tree/master/ spec など)。 /features、@nightire は gem 'rspec-example_steps' を使用して then クラスのプロセス テストを行うことができます。

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-24 09:11:29

    キュウリのコードです。次に、.feature ファイルでプロセスを記述するか、_steps.rb ファイルでプロセスを解析するために使用されます。上で挙げたものは明らかに後者です。これはパス ../features/step_settings/ の下にあります。

    返事
    0
  • キャンセル返事