

MarkdownをHtmlに変換する処理を書こうと思った時に、value objectとしてMarkdownとHtmlのクラスを用意しました。

そしてHtmlのクラスではMarkdownを引数にとってインスタンス化する時にHtmlに変換する処理を書いています。

そしてこのHtmlはApplication Serviceで呼び出してます。  
この時Application Serviceのテストを書く上で変換処理をmockにしたいと思たっんですがどうしたらいいでしょうか。

そもそもこういうのはmockにしないのものですかね...?  
言語や手法問わず普通みなさんどうしているのか疑問だったので質問してみました。

よろしくお願いします。


CC BY-SA 4.0
2020-03-26T05:59:50.297
64126
2020-04-05T06:39:53.853
38235
question
ドメイン駆動設計
value objectの振る舞いをモックにしたい


> この時Application Serviceのテストを書く上で変換処理をmockにしたいと思たっんですがどうしたらいいでしょうか。

「処理をmockしたい」という質問であれば  
各種プログラミング言語で用意されているmockのライブラリで、メソッドをmockすることで実現可能だと思います。

> そもそもこういうのはmockにしないのものですかね...?

ユニットテストならば「HtmlのクラスではMarkdownを引数にとってインスタンス化する時にHtmlに変換する処理を書いています」ということなので、mockにしなくてもテストを書ける気がします。  
実際の外部リソースに触れなければいけない場合（ex. DBアクセス、APIアクセス、実機の環境アクセス）にmockを使うことが多いのかなと私は思います。


CC BY-SA 4.0
2020-04-05T06:39:53.853
65362
2020-04-05T06:39:53.853
4715
64126
answer