Visual Studio
我在我的项目中使用NUnit进行单元测试。但我需要一些使用JustMock和NSubstitute框架编写的测试。我想有一个项目与我的每个测试项目的测试。也就是说,我不想让每个单元框架(NUnit、JustMock和NSubstitute)都有单独的项目测试。如果我的测试在一个项目中,我会有问题(例如,与他们的测试适配器冲突)吗?
我有一种情况,在某些情况下,实际函数抛出一个异常,我为它编写了单元测试,但不幸的是,单元测试失败了。
示例代码
// 'CheckNumber()' function is Present in 'Number' class.
public int CheckNumber(int Number)
{
if (Number < 0 || Number > MaxNumber) // MaxNumber = 300
throw new ArgumentOutOfRangeException();
//..
}
我刚刚开始使用NSubstitute。我主要是和Moq一起工作的,我就是这么做的:
// In my unit test on menter code herey mock:
HasLogMessage(Is.EqualTo("expected value"));
private void HasLogMessage(EqualConstraint s)
{
log.Verify(y => y.Error(It.Is<string>(v => Verify(v, s))));
}
private bool Verify(string s, E
在NUnit中有“软断言”这样的概念吗?如果是的话,我如何利用它呢?
背景和我所指的“软断言”的细节:
在一组验收测试中,我想验证表单的填写是否正确。目前,我执行此操作的步骤如下:
Then The new note form is filled out as follows
| Label | Value |
| First Name | Jon |
| Last name | Skeet |
| Title | Cool Kat |
它的实现方式如下:
[Then(@
为什么这段代码会抛出一个异常而不是通过测试?
public static int ThrowsSomething(string name)
{
if (name == null)
throw new ArgumentNullException(nameof(name), "can't be null because that's silly");
return -1;
}
[Test]
public void WindowTest()
{
Assert.That(ThrowsSomething("dave"
我正在使用C#和nUnit对我的项目进行单元测试,并且我正在尝试编写一些单元测试,以确保调用某个异常,但我的测试仍然失败。经过大量的测试来解决这个问题,我设法找出了问题的原因,并创建了一个小代码示例,显示了下面的问题。
我的单元测试代码:
[Test]
public void TestExceptionIsRaised()
{
var ex = Assert.Throws<UnauthorizedAccessException>(() => TestExceptionMethod());
StringAssert.Con
嗨,我刚刚开始阅读,以了解什么是单元测试,以及如何正确地编码单元测试。
首先,我在书中提到,作者将使用Visual中的集成单元测试工具,我认为它叫做NUnit.I。我错了,但没有问题,因为单元测试的原则应该是相同的(如果我错了,请纠正我)。
我试着在我的PC上安装NUnit,它被称为x64 Windows 8,这是我要测试的代码:
public class LogAnalyzer {
public bool IsValidLogFileName(string fileName) {
if (!fileName.EndsWith(".slf")) {
我们正在尝试将Nunit测试集成到我们的web应用程序中。在这里,我们使用using作为一个模拟框架。项目架构如下:
Public class BaseService : Glass.Mapper.Sc.SitecoreContext
{
public BaseService(){}
}
Public class DerivedService : BaseService
{
IGenericRepository<Item> _genericRepository;
public DerivedService ( IGenericRepository<
我在一个NUnit项目中使用MSTest断言,如下所示(注意:,这不重要,请参阅对Dave的答案的评论):
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MSTestExtensions;
using Assert = NUnit.Framework.Assert;
using Is = NUnit.Framework.Is;
这在我的单元测试中非常有效,但在我的集成测试中,我遇到了一些麻烦。我认为这可能是由于MSTestExtensions,因为我的单元测试没有使用它。此外,如果我注释掉使用语句的MSTestExtensi