gpt4 book ai didi

NUnit 扩展

转载 作者:行者123 更新时间:2023-12-04 21:49:59 24 4
gpt4 key购买 nike

大家好,我有一个关于 NUnit 扩展(2.5.10)的问题。
我想做的是向
数据库。为此,我使用 Event 创建了 NUnit 扩展
听众。
我遇到的问题是公共(public)无效
TestFinished(TestResult result) 方法被调用两次
运行。而我写入数据库的代码就是在这个方法中
这让我在数据库中留下了重复的条目。这
问题是:这是预期的行为吗?我能做点什么吗
它?
扩展代码如下。谢谢。

using System;
using NUnit.Core;
using NUnit.Core.Extensibility;

namespace NuinitExtension
{
[NUnitAddinAttribute(Type = ExtensionType.Core,
Name = "Database Addin",
Description = "Writes test results to the database.")]
public class MyNunitExtension : IAddin, EventListener
{
public bool Install(IExtensionHost host)
{
IExtensionPoint listeners = host.GetExtensionPoint("EventListeners");
if (listeners == null)
return false;

listeners.Install(this);
return true;
}

public void RunStarted(string name, int testCount){}
public void RunFinished(TestResult result){}
public void RunFinished(Exception exception){}
public void TestStarted(TestName testName){}

public void TestFinished(TestResult result)
{
// this is just sample data
SqlHelper.SqlConnectAndWRiteToDatabase("test", test",
2.0, DateTime.Now);
}

public void SuiteStarted(TestName testName){}
public void SuiteFinished(TestResult result){}
public void UnhandledException(Exception exception){}
public void TestOutput(TestOutput testOutput){}
}

}

最佳答案

我已经设法通过简单地删除我的扩展来解决这个问题
NUnit 2.5.10\bin\net-2.0\addins 文件夹中的程序集。在这一刻
一切都按预期工作,但我不确定如何。我以为你
必须在插件文件夹中有扩展/插件程序集。
我通过 NUnit.exe 打开解决方案来运行测试。我的分机
项目是我正在测试的解决方案的一部分。我也向 NUnit 的人提出了这个问题,并得到了以下解释:

很可能,您的插件被加载了两次。为了更容易测试插件,除了搜索插件目录之外,NUnit 还在每个测试程序集中搜索要加载的插件。通常,当您确信您的插件可以正常工作时,您应该将其从测试程序集中删除并将其安装在插件文件夹中。这使它可用于使用 NUnit 运行的所有测试。 OTOH,如果您真的只希望插件申请某个项目,那么您可以将其留在测试程序集中,而不是将其安装为永久插件。
http://groups.google.com/group/nunit-discuss/browse_thread/thread/c9329129fd803cb2/47672f15e7cc05d1#47672f15e7cc05d1

关于NUnit 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com