以前、Pex について書きましたが、Pex を使うクラスには、日本語を使わない方が良さそう… - お だ のスペースMoles も同様に残念でした。
日本語(non-ASCII) は削除されて、01,02,… とナンバリングされてしまいます。
ナンバリングしても被った場合は、そこからさらにナンバリングするようです。*1
こんな感じのクラスライブラリに Moles を使うと…
何がなんの Mock かさっぱりですね!
一応 using を使って エイリアス を設定出来るので、テストコードは何とかなりそうですが。。
using System; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; using M日本語 = ClassLibrary2.Moles.M; using M英語 = ClassLibrary2.Moles.M01; using M受注Entity = ClassLibrary2.Moles.MEntity; using M売上Entity = ClassLibrary2.Moles.MEntity01; using MEntity01 = ClassLibrary2.Moles.MEntity0101; using MEntity = ClassLibrary2.Moles.MEntity02; namespace TestProject1 { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { M受注Entity.AllInstances.IdGet = (self) => { return 0; }; ... } } }
Pex and Moles の MSDN フォーラムでも non-ASCII はサポートしてないみたいな書き込みがありますね。。
Support for non-english characters is missing
UNICODE
*1:以前の Pex の記事の時には、NG だったんですが、バージョンが上がって対応したようです