Match match = Regex.Match("555-5555555", "^(\\d{3}\\-?\\d{3}\\-?\\d{4})$", RegexOptions.None);
it["Should match"] = () => match.Success.should_be_true();
上記は私が信じているものと一致するはずです。数字が必要ですが、ハイフンはオプションのままにしておきます。ただし、上記はfalseを返し、テストに失敗します。
編集
ダリンが正しいので受け入れられた答え、私のテストスコープに何か問題があります。合格した私の更新されたコードは次のとおりです。
Match match;
void describe_example()
{
context["goodregex"] = () =>
{
before = () => match = Regex.Match("555-5555555", "^(\\d{3}\\-?\\d{3}\\-?\\d{4})$", RegexOptions.None);
it["Should match"] = () => match.Success.should_be_true();
};
context["badregex"] = () =>
{
before = () => match = Regex.Match("555-5525-5555", "^(\\d{3}\\-?\\d{3}\\-?\\d{4})$", RegexOptions.None);
it["Should not match"] = () => match.Success.should_be_false();
};
}