問題タブ [test-first]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unit-testing - 「テストファースト」と「テスト主導」の違いを理解する
私は過去にこの話題について話し合ったことがあり、答えを知っているかもしれないと思いますが、それを適切に表現することができませんでした.
私が知っていると思うことは次のとおりです。
テストを書く前に物事がどのように機能するかを頭の中にすでに持っている場合、あなたはテスト主導ではなくテスト主導であると思われます。つまり、実装のアイデアが最初に来て、テストがどのように見えるかを決定します。
テスト駆動型の場合は、実装がどのように見えるかをテストに駆動させようとしています。実装の先入観ではなく、必要な動作のテストを作成するため、テストに合格するには「リファクタリング」段階で実装を考え出す必要があります。
私の質問は次のとおりです。
- 私はこれを正しく理解しましたか?
- ほとんどの開発者が、キーボードに手を伸ばす前に頭の中ですぐにソリューションの探索を開始するのは当然のことですが、テスト ファーストの考え方からテスト主導の考え方に移行するにはどうすればよいでしょうか。
asp.net-mvc - テスト承認コントローラー
TDD Book for Test Authorize Controllerで練習を見ましたが、これがコードであるとはどういう意味か正確にはわかりません
ruby - Test First の Temperature Object プロジェクト - すべてのテストに合格しましたが、これは私が学ぶべきものでしたか?
私は Test First の Ruby プロジェクトに取り組んでおり、それらのほとんどを行ってきましたが、08_temperature_object にはかなり混乱しています。特に、テストに合格して動作するようになったにもかかわらず、彼らが望んでいた方法で行ったかどうかわからないためです。 .
これが私が思いついたものです:
指示から:
from_celsius
ファクトリ メソッドは、インスタンスメソッドではなく、クラスメソッドとして定義することを忘れないでください。
???? クラスメソッドとしてやったのですか?新しいオブジェクトを作成するよりも良い方法はありましたか?
温度オブジェクトのコンストラクターは、エントリまたはエントリのいずれかを含むオプション ハッシュを受け入れる必要があります。:celcius
:fahrenheit
???? ハッシュを使用したことは知っていますが、「オプション ハッシュ」を使用しましたか?
Factory Method は設計パターンです... Ruby でこのパターンを実装する 1 つの方法は、クラス メソッドを使用することです
???? これはファクトリーメソッドとして書かれていますか?
参照用の Rspec テストのサンプルを次に示します。
前もって感謝します
ruby - TestFirst Teaching Pig Latin 'rspec_config failed'
私は TestFirst Teaching の Pig Latin 演習を完了している最中ですが、Ruby ファイルを作成して rake を実行しようとした後、次のエラーが発生しました。
実行しているバージョンと関係があるのではないかと思いますが、よくわかりません。
Mac OSX 10.8.2
ルビー 1.8.7
Rspec 2.13.1
レーキ 10.0.4
ノート!以前の演習 (0-3) で rake を実行すると、問題なく動作しますが、その後は何も動作しません...
編集: rake のバージョンを更新しましたが、rake を実行しようとすると、まだ「rspec_config failed」エラーが発生しますが、これも発生します。ヘルプ!!!
編集 #2: これは私の Pig Latin 演習のソース コードです。
sql - SQL Server のストアド プロシージャの単体テスト
SQL Server のストアド プロシージャと関数のみを使用して実装されるプロジェクトで、Test First Development を実装したいと考えています。
ストアド プロシージャと関数の単体テストの実装を簡素化する方法はありますか? そうでない場合、それらの単体テストを作成するための最良の戦略は何ですか?
ruby - キーと値のペアを変数として設定できないのに、パラメーターとして設定できるのはなぜですか?
Test First Teaching の辞書レッスンに取り組んでいます
私の Dictionary.rb ファイルには、
私の仕様ファイルは次のように add を使用します: @d.add('fish' => 'aquatic animal') これは機能します。
ただし、次のように設定すると詮索好きになると: a = 'monkeys' => '3'
何を与える?
ruby - ブロックの平均実行時間を見つけるのに問題がある
私は現在、Test First プログラミングを行っており、http://testfirst.org/live/learn_ruby/performance_monitor にある 06_performance モニターの問題で立ち往生しています。stackoverflow で同様のスレッドを見つけましたが、まだ問題を理解していません。複数のブロックの平均実行時間を見つけるための最後の 2 つのテストに失敗しています。これまでの私のコードは次のとおりです。
テストが何をしようとしているのか、私は非常に混乱しています。これまでのところ、これは私がしなければならないと思うことです:
タスクは、特定のブロックの実行にかかる時間を見つけることだと思います。ただし、最初の数回のテストでこのコードが機能する理由は正確にはわかりません。また、yield ステートメントが何を返しているのかを正確に知ることにも問題があります。解決策を理解できるように、誰かがこの問題を解決するプロセスを順を追って説明していただければ幸いです。
ruby - クラスメソッドの編集 def self.xxx
Array クラスを編集している場合、各メソッドを自己で定義する必要はありません (例: self.sum
)。def の直後に self.method がなくても、「Test-First」Ruby トラックの rpsec テストに合格する理由がわかりません。
ruby - Testfirst.org - rpn_calculator - メソッド間で変数を渡すにはどうすればよいですか?
私はこのレッスンをやろうとしていますが、明らかに何かが欠けています!
@numbers を除いて、私の初心者の目にはすべてが機能しています。evaluate メソッドから @numbers を設定しても、他のメソッドの @numbers には影響しません。その理由が本当にわかりません。@numbers を @@numbers に変更するなど、グーグルでできることはすべて試しましたが、何も役に立たないようです。評価メソッドで文字列を評価することもできました...しかし、私はすでに使用できる素晴らしいプラスメソッドを持っています!
結果は、@numbers が空であるため、プラスのリターンは失敗します....
フランク・シュミット のおかげで、うまくいきました。どうやら、単にメソッドをハッシュに格納するだけではないようです。
正しい評価方法:
ruby - TestFirst.org Learn_ruby rake と減価償却の警告 :should および :expect 構文
Google で何度も検索した後、コミュニティから情報を得る準備が整いました。サンフランシスコの App Academy に申し込もうとしていますが、必要な事前作業の 1 つは TestFirst の Learn_ruby です。私はもともとこれを私のWindowsボックスのLinux VMで構成していました。とてもうまくいきました。rake を実行すると、一度に 1 つの問題がリストされました。テキストは便利な色でした。出力は非常に凝縮されていたので、読む必要のあるものしか得られませんでした。最近、システムをワイプしてデュアル ブート Xubuntu 14.04/Windows として構成しましたが、かつて持っていた VM はとうの昔になくなっています。VM で行ったのと同じように、Linux VM で Ruby をセットアップする作業を行いました。
私の問題はrake
、プロジェクトで実行すると、同じ減価償却の警告が表示されることです。
非推奨の警告:
should
構文を明示的に有効にせずにfrom rspec-expectations の古い:should
構文を使用することは非推奨です。新しい:expect
構文を使用するか、:should
代わりに明示的に有効にしてください。/home/kaji/Projects/learn_ruby/05_silly_blocks/silly_blocks_spec.rb:25:in `block (3 level) in ' から呼び出されます。
これを前後にグーグルで調べた後、エラーが私に伝えていることの大部分を理解しています。そして、それをなくすための解決策さえ見つけました。この投稿のおかげで: RSpec's New Expectation Syntax、警告を消すための構文を見つけることができました。(基本的にはファイル内に変更blah.should == #
する必要がありました。これにより、警告がうまくいくようです。ただし、別の問題があるという兆候がまだ見られます。expect(blah()).to eq(#)
*_spec.rb
出力は、VM を使用していたときほど「わかりやすい」ものではありません。カラーではありません。一度にすべてのエラーをダンプします。Learn_ruby について私が最も楽しんだのは、最小限の出力で一度に 1 つの目的を与えてくれることでした。今、私の問題が何であるかを確認するために、かなり上にスクロールする必要があります。
RVM とすべての gem を完全に削除し、再インストールして、これを解決できるかどうかを確認するのにうんざりしています。サイコロはありません。私はRuby Noobieなので、このすべてに少し圧倒されています. 基本の学習に戻りたいのですが、これで 1 週間以上悩んでいます。誰かがこの問題を抱えていましたか/例外を修正しましたか
rpsec ~<=2.0
また、Rakefile から を削除しようとしました。Rails 4.1.1を使用してruby -v 2.1.2
おり、RSpec 3.0.0、2.99.0、2.0.0 を使用しています。構文の変更に関するチュートリアルを見つけようとさえしましたが、私がまったく知らない Ruby の概念がたくさん紹介されていたので、本当に混乱しました。その時点で、私は頭がいっぱいで、欠けている単純なものがあるように感じます.
支援のために十分な情報を提供したことを願っています。