以前、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 だったんですが、バージョンが上がって対応したようです