相关疑难解决方法(0)

Contract.Requires抛出pex错误

可能重复:
如何配置Pex以尊重代码合同?

目前,当我运行pex探索时,我在我的类中创建的代码契约被视为pex探索结果中的错误.我想当你使用代码合同进行pex勘探时,合同失败应该被视为预期的行为.这是导致异常的代码.

测试方法:

[PexMethod]
public void TestEquality(Guid userId, string username, string password, string securityQuestion, string securityAnswer)
{
    UserSecurity user = UserTools.CreateUser(Guid.NewGuid(), username, password, securityQuestion, securityAnswer);

    bool passwordResult = UserTools.VerifyInput(password, user.Password, user.PasswordSalt);
    bool securityAnswerResult = UserTools.VerifyInput(securityAnswer, user.SecurityAnswer, user.SecurityAnswerSalt);

    Assert.IsTrue(passwordResult, "Password did not correctly re-hash");
    Assert.IsTrue(securityAnswerResult, "Security Answer did not correctly re-hash");
}
Run Code Online (Sandbox Code Playgroud)

失败的方法调用:

public static UserSecurity CreateUser(Guid userId, string username, string password, string securityQuestion, string securityAnswer)
{
    Contract.Requires(userId != Guid.Empty);
    Contract.Requires(!string.IsNullOrWhiteSpace(username));
    Contract.Requires(!string.IsNullOrWhiteSpace(password));
    Contract.Requires(!string.IsNullOrWhiteSpace(securityQuestion));
    Contract.Requires(!string.IsNullOrWhiteSpace(securityAnswer));
    Contract.Ensures(Contract.Result<UserSecurity>() != null);

    byte[] passwordSalt;
    byte[] …
Run Code Online (Sandbox Code Playgroud)

c# pex code-contracts c#-4.0

26
推荐指数
1
解决办法
1144
查看次数

标签 统计

c# ×1

c#-4.0 ×1

code-contracts ×1

pex ×1