C# MSpec:让我的第一个规范通过
刚开始使用MSpec,我似乎无法通过我的第一个规范。虽然检查源代码是理想的,但我现在真的不想花太多时间去做 问题在于,因为会导致空引用异常,所以存储库为空 建立上的断点会被命中(但不是在我将其放入基类时),但我猜里面的代码没有运行,这导致了我的错误 任何帮助都将是伟大的-解释和链接也非常感谢C# MSpec:让我的第一个规范通过,c#,mspec,C#,Mspec,刚开始使用MSpec,我似乎无法通过我的第一个规范。虽然检查源代码是理想的,但我现在真的不想花太多时间去做 问题在于,因为会导致空引用异常,所以存储库为空 建立上的断点会被命中(但不是在我将其放入基类时),但我猜里面的代码没有运行,这导致了我的错误 任何帮助都将是伟大的-解释和链接也非常感谢 [Subject("Sandwich Repository CRUD")] public class sandwich_repository_can_save_sandwiches : SandwichRe
[Subject("Sandwich Repository CRUD")]
public class sandwich_repository_can_save_sandwiches : SandwichRepositoryContext
{
Establish context = () =>
{
sandwich = new Sandwich(ValidSandwichName);
repository = new SandwichRepository();
};
Because of = () => { repository.Save(sandwich); };
It should_contain_the_created_sandwich = repository.GetSandwichByName(ValidSandwichName).ShouldNotBeNull;
}
public abstract class SandwichRepositoryContext
{
protected static Sandwich sandwich;
protected const string ValidSandwichName = "Olive Le Fabulos";
protected static SandwichRepository repository;
}
您的代码看起来不错,尽管
It
似乎缺少lambda运算符,并且上的括号不应为空。这对你有用吗
[Subject("Sandwich Repository CRUD")]
public class when_a_sandwich_is_created : SandwichRepositoryContext
{
Establish context = () =>
{
sandwich = new Sandwich(ValidSandwichName);
repository = new SandwichRepository();
};
Because of = () => { repository.Save(sandwich); };
It should_find_the_created_sandwich =
() => repository.GetSandwichByName(ValidSandwichName).ShouldNotBeNull();
}
public abstract class SandwichRepositoryContext
{
protected static Sandwich sandwich;
protected const string ValidSandwichName = "Olive Le Fabulos";
protected static SandwichRepository repository;
}
下面是我用来验证上述上下文是否通过的基础结构代码:
public class SandwichRepository
{
Sandwich _saved;
public void Save(Sandwich sandwich)
{
_saved = sandwich;
}
public Sandwich GetSandwichByName(string validSandwichName)
{
if (_saved.ValidSandwichName == validSandwichName)
return _saved;
return null;
}
}
public class Sandwich
{
public string ValidSandwichName
{
get;
set;
}
public Sandwich(string validSandwichName)
{
ValidSandwichName = validSandwichName;
}
}
您的代码看起来不错,尽管It
似乎缺少lambda运算符,并且上的括号不应为空。这对你有用吗
[Subject("Sandwich Repository CRUD")]
public class when_a_sandwich_is_created : SandwichRepositoryContext
{
Establish context = () =>
{
sandwich = new Sandwich(ValidSandwichName);
repository = new SandwichRepository();
};
Because of = () => { repository.Save(sandwich); };
It should_find_the_created_sandwich =
() => repository.GetSandwichByName(ValidSandwichName).ShouldNotBeNull();
}
public abstract class SandwichRepositoryContext
{
protected static Sandwich sandwich;
protected const string ValidSandwichName = "Olive Le Fabulos";
protected static SandwichRepository repository;
}
下面是我用来验证上述上下文是否通过的基础结构代码:
public class SandwichRepository
{
Sandwich _saved;
public void Save(Sandwich sandwich)
{
_saved = sandwich;
}
public Sandwich GetSandwichByName(string validSandwichName)
{
if (_saved.ValidSandwichName == validSandwichName)
return _saved;
return null;
}
}
public class Sandwich
{
public string ValidSandwichName
{
get;
set;
}
public Sandwich(string validSandwichName)
{
ValidSandwichName = validSandwichName;
}
}
谢谢你,这确实是上面的lambda。我讨厌答案如此明显。尤其是当我试图与其他人的代码进行比较时。不管怎么说-你修好了-我很高兴。谢谢你,这确实是它上面的兰姆达。我讨厌答案如此明显。尤其是当我试图与其他人的代码进行比较时。不管怎样-你修好了-我很高兴。