いくつかのC関数のラッパーであるサードパーティライブラリを使用しています。残念ながら、ほぼすべてのGo関数は無料です(受信者がなく、メソッドではありません)。私が取った設計アプローチではなく、私が持っているものです。関数を使用したGolangテスト
ちょうど行くの標準的な「テスト」ライブラリを使用する:
は私が機能を模擬することができますテストを作成することを可能にする解決策はありますか?
ライブラリをストラクチャとインターフェイスにラップし、目的を達成するためにインターフェイスをモックする方法はありますか?
私は、生成されたデータセットも処理するモンテカルロシミュレーションを作成しました。私の評価アルゴリズムの1つは、評価のために第三者の関数を渡す特定のモデルを探します。私は自分のエッジケースを知っていて、コールカウントが何であるべきかを知っています。これが私がテストしたいものです。
おそらく、単純なカウンタがすべて必要ですか?
私が見つけたこのライブラリを使用している他のプロジェクトは、完全にカバーしていないか、全くテストしていません。
「フリー」機能とは何ですか? – JimB
Go受信機なしの機能。それらは構造体と結ばれていません。 – RomaH
したがって、受信者を持つものはすべてメソッドと見なされるため、「関数」を意味します。関数は大部分の慣用句で広範に使用されており、ユニットテストからそれらを止めるものは何もありません。あなたは何を模倣したいですか? Goは、通常、いくつかの言語で使用されている "すべてを模擬する"という道を取っていません。 – JimB