問題タブ [specs]
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.
scala - ScalaTest で「[例外] を生成すべきではない」構文を使用する
私は Scala で BDD の Specs2 と ScalaTest をいじっています。特定の例外がスローされるべきではないと主張するとき、私は Specs2 に期待を書きました。
私はScalaTestで同等のものを次のように書けることを望んでいました:
しかし、これはコンパイルされず、それを行う方法が見つかりませんでした。それは可能ですか?
よろしくお願いします。
scala - Mockitoの異なる範囲の期待
Scala コードの Specs の一部として Mockito を使用していますが、次のタスクに遭遇しました:
チェス盤 (8x8 = 64 セル) をエミュレートする ArrayBuffer が与えられた場合。ArrayBuffer
存在しないセル (番号が 63 より大きいか 0 より小さい)をクエリすると、 が返されますNone
。Some(0)
それ以外の場合は、 (ほとんどすべての場合) or Some(1)
(指定されたいくつかのセルのみ)を返します。
今、私はスパイと次のように始まる何かについて考えています:
そして、Some(1) でセルを明示的に再指定します。
しかし、返さなければならない範囲外のセルはどうNone
ですか?
その嘲笑を実現する最も簡単で自然な方法はありますか?
scala - Scala、Specs2、Mockito、nullの戻り値
Specs2とMockitoを使用してScalaコードをテストドライブしようとしています。私は3つすべてに比較的慣れておらず、モックされたメソッドがnullを返すのに苦労しています。
以下では(いくつかの名前の変更で転写されています)
「ファイルをパーサーに渡す」は、SUTにトランスレーター呼び出しを追加するまで機能しますが、mockParser.parse
メソッドがnullを返したために終了します。これは、トランスレーターコードでは取得できません。
同様に、「解析結果を翻訳者に渡す」は、翻訳結果をSUTで使用しようとするまで渡されます。
これらの両方のメソッドの実際のコードがnullを返すことはありませんが、期待値が使用可能な結果を返すようにMockitoに指示する方法がわかりません。
もちろん、SUTにnullチェックを入れることでこれを回避することはできますが、nullを返さないようにし、代わりに、、およびを使用するので、むしろ避けたいとOption
思いNone
ますSome
。
良いScala/Specs2 / Mockitoチュートリアルへのポインターは、次のような行を変更する方法の簡単な例と同様に素晴らしいでしょう。
nullを処理しない場合に、SUTでの継続的な実行を可能にするものを返すようにします。
これを理解しようと急いで、私はその行をに変更しようとしました
私が返したいタイプのmyResultの値を使用します。MatchResult
それは私のリターンタイプではなくそこを見つけることを期待しているので、それは私にコンパイルエラーを与えました。
重要な場合は、Scala2.9.0を使用しています。
scala - フラグメント評価エラー
「フラグメント評価エラー」が何を意味するのか、または解決策を探す場所を教えてもらえますか? 私は時々(常にではありませんが)これらのエラーをたくさん受け取ります(コードを変更せずに):
PostSpec の 68 行目は、Post モデル コンパニオン オブジェクトを参照する (specs2) テストの最初の行です。
Scala 2.9.0-1 を使用しています。
また、それが重要かどうかはわかりませんが、Post は net.liftweb.mongodb.record.MongoRecord クラスのコンパニオン オブジェクトです。
scala - モジュール方式でSpecs2マッチャーを作成する
私は機能を持っていますA => Double
。beCloseTo
このような2つの関数が、特定の値のセットに対して同じ結果(許容範囲まで、既存のマッチャーを使用)を提供するかどうかを確認したいと思います。
私は書くことができるようになりたい:
単にゼロから書くのではなく、モジュール方式でこのマッチャーを構築したいと思いMatcher[TF]
ます。
私が書くことができればそれはさらに良いかもしれません:
また、マッチャーが失敗したときに合理的な説明を取得したいと思います。
編集
その上で寝た後、私は次のことを思いついた。
これはEricのソリューションよりもはるかに短いですが、適切な失敗メッセージを提供しません。私ができるようにしたいのは、2番目の方法でマップされた値の名前を変更することです。次のようなもの(コンパイルされません)。
scala - Specs2: Seq[Matcher[A]] を単一の Matcher[A] に変換する方法は?
シーケンスを指定すると、シーケンス内のすべてのマッチャーが成功したときに成功するSeq[Matcher[A]]
シングルを取得したいと考えています。Matcher[A]
編集
私自身が提供した答えは少し不器用に思えます。さらに、シーケンスのすべての失敗したマッチャーが結果を生成した場合はいいでしょう
java - 再利用可能なパラメーター化された Gherkin 句をサポートする Scala 用の BDD ツール
再利用可能なパラメーター化された Gherkin 句をサポートする Scala 用の BDD ツールはありますか?
次のような仕様を使用できるようにしたいと思います。
そして、次のように、パラメーターが 1 回だけ異なる Gherkin 句へのフィクスチャを定義したいと思います。
次のような句の定義が与えられた場合:
ScalaTest と Specs のマニュアルを調べましたが、そのような機能は見つかりませんでした。ScalaTest は別のシナリオで定義された句を再利用できるようですが、パラメータ化されていないようです。
私が欲しいものをサポートするいくつかのツール、または ScalaTest の拡張機能、またはそのような結果を得るために自分で拡張する方法を知っていますか?
scala - どのソースファイルにテストが含まれているかをsbt 0.11.xに指示する方法
Scala、SBT、Specs は初めてです。spec を使用して簡単な仕様を作成し、「テスト」タスクを使用して SBT 経由で実行したいと考えています。そのタスクを実行すると、次のエラーが発生します。
どのファイルがテスト ファイルであるかを SBT に通知する必要があることを理解しています。SBTホームページとStackoverflowで見つけた唯一の例は、このコードです
Build.scala ファイルに含めました。ただし、これは SBT 0.11.x では機能しなくなったようです。次のコンパイルエラーが発生します
これが新しい SBT バージョンでどのように行われるか知っている人はいますか?
よろしくお願いします。
乾杯、ゲオルグ
unit-testing - Scala 仕様の単体テスト
次のクラスがあり、いくつかの Spec テスト ケースを書きたいと思っていますが、本当に初めてで、開始方法がわかりません。私のクラスは次のようになります:
ありがとうございました!
scala - 仕様の暗黙的な変換がScalaPredefと競合する
私のコードには次のようなタイプエイリアスがあります:
そして、私はテストとアプリケーションの両方で、このタイプを使用する関数にLong値を渡すことがよくあります。例えば:
このコードは、次のエラーが発生するテストで実行しない限り、正常に機能します。
調べてみるNumericBaseMatchers
と、それはSpecsテストフレームワークの一部のようです(私のテストはSpecs 1で書かれています)。インタープリターでエラーを取得するためにコードを実行しようとしましたが、テスト以外では問題ありませんでした。
どういうわけかあいまいさを取り除き、LongをDouble / Time関数の値に渡すことができる方法はありますか?Scalaがすでにこれを提供しているのに、Specsが独自のLongToDouble変換を作成しようとするのはなぜですか?