如何在目标服务器上运行NUnit集成测试

如果您有测试对数据库访问的NUnit集成测试,那么如何在目标数据库位于不同服务器上的生成计算机上运行这些测试。 这几乎就像我想从构建服务器(使用CruiseControl)运行集成测试,但让测试在目标服务器上运行,这样我就可以运行有问题的数据库。我认为最简单的方法是通过网络公开数据库。NUnit测试可以从c#/vb.net代码运行。 所以,根据这一点,您可以创建用于运行测试的页面,页面将调用codebehind代码,然后调用您的测试,您可以远程查看测试结果 这应该让你开始: 好的,我想我正在运行

如何简化这些NUNit测试?

这三个测试是相同的,只是它们使用不同的静态函数来创建StartInfo实例。我所有的测试代码都会用到这个模式,我很乐意 能够使用[TestCase]或任何其他减少样板代码的方法来简化此过程。就我所知,我不允许使用委托作为[TestCase]参数,我希望这里的人对如何使下面的代码更简洁有创造性的想法 [Test] public void ResponseHeadersWorkinPlatform1() { DoResponseHeadersWorkTest(

Nunit n覆盖许多类库

所以我有我的项目,它是这样设置的: 我的项目 MyProject.Module1 MyProject.Module1.Tests MyProject.Module2 MyProject.Module2.Tests 我想要的是整个项目的代码覆盖率 我正在使用nCover。。。最好的方法是什么?例如,我是否必须重新安排项目,并将所有内容放入MyProject.Tests中?这取决于您的测试方式。大多数测试框架都允许您将多个程序集作为单独的参数运行测试。如果不能同时运行它们,则始终可以使用NCover

NCover 1.5.8,含摩尔/Pex和NUnit

我很难让以下各项协同工作 NCover 1.5.8(TestDriven.NET附带的版本) NUnit 2.5(TestDriven.NET附带的版本) 痣和皮克斯 我正在使用Windows7x64和.NET4.0PEX和Moles测试库 我试着按照类似问题(关于让鼹鼠使用MSTest)和相关链接的提示进行操作。多亏了,我确实设法让Moles和NUnit一起工作,但我无法让它与NCover一起工作 这是一个批处理文件 :: Some paths :: ========== set NCov

Nunit 使用Verify确认Moq mock类中的预期参数值

我试图验证是否使用预期的对象参数调用模拟中的方法。我正在使用Moq,nUnit,并且认为AutoFixture的相似性应该能够完成这项工作。 下面是我试图做的一个简化版本 有没有办法用AutoFixture实现这一点?是否有更好的方法来验证是否使用适当的参数调用了某些内容 重写A类中的Equals以比较属性值,并将Verify行更改为: barMock.Verify(m => m.Something(a)); 但是,我不希望像我的项目中的A那样覆盖每个类中的Equals namespac

Nunit 测试夹具继承和忽略的基本测试夹具

我有一组基本测试,用于测试接口的多个实现。我对此建模的方法是创建一个带有[Ignore]属性的基本文本固定装置 [TestFixture] [Ignore] public class BaseTests { // Use your imagination for the actual name public virtual ITestableThing GetConcrete() { return null; } // All

Nunit SonarQube单元测试成功小部件没有向下展开

我们使用Jenkins构建C#项目,运行单元测试(NUnit)和代码覆盖率(NCover)。作为输出,coverage.nccov和nunit result.xml文件 Jenkins触发SonarQube分析(SonarQube 5.0.1和最新的C#插件)。SonarQube仪表板显示单元测试覆盖率和单元测试结果,但失败测试列表不能显示为向下展开 当用户单击度量时,显示的页面非常空(没有文件列表,没有向下展开,只有度量) 声纳项目.属性: sonar.visualstudio.solut

编写NUnit测试代码

如何为下面的方法编写代码,以便在NUnit中进行测试?如何处理哈希表 public DataSet MySampleMethod(int param1, string param2, Hashtable ht) { if(ht==null) { ht = new Hashtable(); } ht.Add("testKey","testData"); DataSet ds = new DataSet(); ds.Tables.Ad

NUnit/TestDriven(产品,而非方法),默认情况下是否可以忽略一类测试?

我们正在使用NUnit定义自动性能测试。然而,由于其中许多将运行一段时间,为了满足时间和系统负载的不精确性,我们不希望开发人员必须在正常开发条件下运行这些 我们是否可以指示TestDriven Visual Studio插件忽略一组单元测试,这样,如果程序员右键单击单元测试项目并选择“运行测试”,这些测试就不会执行 默认情况下忽略测试的唯一方法似乎是通过[Explicit]属性,但这意味着我会在测试服务器上产生维护开销,因为似乎没有一种方法可以一次性执行所有显式测试而不必全部命名 或者我应该将所

使用带有NUnit的CruiseControl.NET测试偶尔失败:错误800704a6

我的合作伙伴和我有一套测试,每晚在我们项目的构建服务器上运行。我们使用来运行服务器,并使用和编写测试。我们将CruiseControl.NET作为服务运行,可以访问本地系统帐户上的桌面。每运行几次构建,某些测试就会失败,并显示以下错误消息: 构建的成功似乎并不取决于对代码本身的更改,因为在对与测试无关的程序部分进行更改之后,我们已经有了中断或修复的构建 我们都是软件测试(和开发)领域的新手,但我们在网上发现的关于这个错误的任何东西似乎都与我们的情况无关。我们已经看到了从等待系统重新启动到In

NUnit和AppDomain';s未经处理的异常Venthandler

我在用NUnit编写单元测试时遇到了一些问题,该测试检查后台工作程序在其RunWorkerCompleted事件中是否引发了自定义异常(ProcessException)——为了便于讨论,我们假设无法更改该代码 我尝试在单元测试中连接到AppDomain的UnhandledExceptionHandler,如下所示: AppDomain currentDomain = AppDomain.CurrentDomain; UnhandledExceptionEvent

为nUnit runner在Team city上添加dll路径

我尝试了很多,但仍然没有得到适当的链接和文章,可以解决我的问题 我有一些NUnit测试,我想与TeamCity服务器集成;为此,我使用了TeamCity中的NUnit runner类型。我给出了测试必须从中执行的dll文件路径,但它无法加载我的dll,并给出了以下错误 **在“C:\Labtronic Data\test\UtilityLibTesting.dll”程序集中运行测试时出现NUnit错误 为v4.0.30319,MSIL编译加载程序集 NUnit runner运行时是v4.0.30

如何在GUI中设置NUnit 3中的类别

我有以下代码: [TestFixture] class A: B { [Test(Description = "SW"), Category("Minimum")] public void TS1() { } } [TestFixture] class C: B { [Test(Description = "ex"), Category("Minimum")] pub

是否可以抑制nunit控制台输出的运行设置?

NUnit控制台输出运行设置,其中包括测试参数。我不想把它展示出来。可能吗?我使用nunit3控制台。没有任何选项可以更改默认控制台文本输出,其目的是立即获得开发人员反馈,而不是报告。你的选择是 将输出定向到文本文件并对其进行编辑(可能是自动编辑) 从包含所有必要组件的XML结果文件创建您自己的报告。您可以通过向引擎写入resfoundult writer扩展或创建生成所需结果的XSL转换来实现这一点。我通常认为最好选择您最喜欢的技术(C与XSLT)。:-) “resfoundult编写器扩展”

NUnit与探测路径

注意:此处的所有程序集都不是强名称的 我正在使用NUnit试用2.4.2和2.5.2在程序集A中运行测试。程序集A引用程序集B v2。程序集A还引用程序集C,而程序集C又引用程序集B v1 当我从只包含程序集B v2的bin\Debug目录运行程序集A时,测试失败,并显示一条消息,说明如何找不到程序集B v1 我试图通过创建assemblyA.dll.config文件来解决这个问题。在该文件中,我指定了一个绑定重定向,尽管我知道它们不适用于非强名称程序集,并指定了一个探测路径,该路径应允许NUn

Nunit OpenCover-导致未处理异常的寄存器参数

当我在Opencover中使用-register选项时,我得到一个未处理的异常 C:\hudson\jobs\SPIN.Accounts.AccountNode\workspace>"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -target:"C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-console.exe" -targetargs:"/noshadow

Nunit 诱惑报告删除控制台输出附件?

我为我的c#selenium框架设置了诱惑报告,一切正常,但我注意到一些困扰我的问题,我想改变。在每个测试中,总是有一个称为“控制台输出”的附件,该附件为空,大小为0 KB。我的问题是,有没有办法删除/禁用此功能 你可以在下图中看到我的意思: 我猜这是两个小错误的合流,一个在nunit,一个在allure 在NUnit端,为测试结果创建的XML包含一个元素,用于保存测试输出的文本。听起来好像在没有输出的情况下生成了一个空元素。您可以通过检查XML输出来检查NUnit版本是否存在这种情况 在诱惑方

Nunit testdriven.net log4net控制台输出

使用TestDriven.net运行nunit测试时,如何让log4net控制台输出显示出来?我正在使用ColoredConsoleAppender,没有日志输出。我找到了答案。您可以使用常规的xml配置文件方法,但需要配置TraceAppender: <appender name="TraceAppender" type="log4net.Appender.TraceAppender"> <layout type="log4net.Layout.Patte

如何指定NUnit测试失败?

有没有一种方法可以指定您希望NUnit测试失败,这意味着失败应报告为通过,而通过应报告为失败?这在测试自己的NUnit扩展时非常有用。以下是我希望能够做到的一件事: [Test] [ExpectFail] public void TypeOf_fail() { string str = "abc"; str.Should().Be.TypeOf<int>(); } [测试] [预期失败] public void TypeOf_fail(){ string str=“

如何打印NUnit测试运行';将XML文件作为命令行上的漂亮报告?

我有一套NUnit测试。当它们完成时,我得到一个TestResults.xml文件。这个文件非常大和密集;我希望能够阅读一份简单易读的基本结果报告。我相信提供的nunit控制台程序可以做到这一点,但我不知道如何做到 如何使用nunit控制台打印TestResults.xml描述的信息? 请注意,运行测试不是问题所在;我的问题是如何在命令行上显示结果。我无法更改测试的运行方式,但我可以对结果文件执行任何操作。除非用于调试,否则测试结果文件不是人类可读的。它是所有关于测试运行的数据的来源,可以从中生

NUnit中的自定义过滤器是否可行?

是否可以定义自定义筛选器,以便NUnit仅运行特定测试?我的许多Nunit测试都用自定义属性“BugId”标记。是否可以编写一个筛选器,以便传入一个数字,并仅使用该属性和数字运行测试?如果是这样,则显示实体模型或真实代码。过滤器是否需要使用自定义属性,或者是否可以使用NUnit? 差不多 [Test] [Category("BugId-12234")] public void Test() { .... } 。。。然后使用/include=STR标志: nunit-console /inc

是否可以自定义NUnit XML输出?

我现在正在查看NUnit XML输出,想知道是否有可能仅为故障生成输出 我的意思是,如果测试通过了OK,那么就根本不会为它生成XML输出 XSLT在这里不是一个选项我根本不希望通过测试的XML输出:如果我不需要有关通过测试的详细信息,我不希望系统花费时间生成这些详细信息* 其思想是,如果您有很多测试,XML输出往往相当大,但80%的时间都是在失败之后。对于这种情况,我希望以这样的方式运行测试,即只生成有关失败的信息。在运行NUnit时,可以指定XSLT文件以自定义生成的文件: nunit-con

如何将NUnit测试集成到TFS 2010构建中

将nunit测试集成到TFS 2010中的最佳方式是什么?是通过一般测试还是有更好的方法来运行它们 理想情况下,我希望每个测试程序集具有一个通用测试的粒度,并且有一种方法可以在TFS构建报告中显示结果。您可以从运行nunit测试,因此可以通过(工作流)构建模板自动化这些测试 由于TFS 2010还没有太多的定制构建活动可用,因此您可以编写自己的活动,以确保它与TFS构建报告更好地集成。 您可以找到有关编写自定义生成活动的一些信息 另一种方法是通过VisualStudio创建单元测试。这些测试将在

Nunit 来自OpenCover的WaitHandles异常

我正在使用OpenCover报告NUnit测试的代码覆盖率,当我运行一套耗时较长的测试时,会出现以下异常: An exception occured: The number of WaitHandles must be less than or equal to 64. stack: at System.Threading.WaitHandle.WaitAny(WaitHandle[] waitHandles, Int32 millisecondsTimeout, Boolean exit

Nunit测试适配器未发现测试

我正在VS2015中使用NUnit framework v3.12.0和NUnit3TestAdapter v3.17.0(最新版本)。我的问题是,它没有发现任何测试。我尝试过删除临时文件,但不起作用。它工作的唯一方法是每次我想运行它时,将NUnit3TestAdapter版本更改为任何其他版本。正如你所意识到的,这是浪费时间 这是它引发的错误:测试发现程序“Nunit3TestDiscoveryr”加载测试时发生异常。异常:对象引用未设置为对象的实例 有没有关于如何解决这个问题的线索 到目前为

Nunit.Net内核并行测试

Charlie Poole提到了这一点: 如果您正在运行.NET核心测试,则使用的是NUnit portable framework构建,它不支持并行执行。该属性仍然被接受,因此您可以在不更改代码的情况下切换到不同的平台构建 有人知道情况是否仍然如此吗?是的,从NUnit 3.8.1开始,情况仍然如此。尽管框架的可移植版本已被.NET标准版本所取代,但并行测试执行尚未启用 NUnit中的并行执行是通过并行条件编译启用的,而.NET标准项目中尚未启用该编译 更新NUnit 3.10.1已经发布,当

CruiseControl.NET在NUnit详细信息页面上仅显示一个NUnit程序集

我正在将NUnit与CruiseControl.NET一起使用。我有很多测试项目和程序集。当我运行测试时,在NUnit详细信息页面上,它只显示一个程序集,但包含来自所有程序集的所有测试。在日志中,它在XML中将它们单独列出。我怎样才能解决这个问题?谢谢。我通过在MSBuild文件中单独列出NUnit任务,并为每个测试程序集生成单独的输出文件,解决了这个问题。然后在CruiseControl配置文件中,我在合并部分列出了每个输出文件。这在webdashboard中为每个测试程序集生成了一个很好的结

Nunit MSTest的历史是什么

我的一位同事声称微软付钱给NUnit的开发者开发MSTest。我无法找到任何支持这一主张的信息 这是真的吗?MSTest的历史是什么?根据某个半匿名的随机家伙在intarwebz某处的一篇无关紧要的博客文章中向下滚动到最后,这不是真的 你知道你可以相信这些信息,因为它来自intarwebz 这可能是stackexchange的。那一定是个大忙人。毕竟,NUnit的开发者也是xUnit.NET的开发者!不过,他确实在微软工作,所以我想这是可能的。

nunit控制台能否列出测试夹具中的所有测试名称?

我希望在它们运行之前报告它们,并且可以选择通过shell脚本运行单独的测试,而无需管理类别。我们有一些非托管代码,这些代码可能会使进程处于不良状态,有时我们很乐意在每次运行nunit控制台时单独运行每个测试。nunit控制台似乎仍然不支持此选项。然而,使用反射获取测试用例列表是相当简单的。在一个非常基本的级别上,您需要一个具有适当的[Test]/[TestFixture]属性的任何公共类的所有public方法的列表。根据您的测试是如何结构化的,您可能需要进行额外的筛选,例如删除任何标记为代码>

TeamCity中的NUnit step尝试对business logic.dll运行测试,因为它们';您与我的test.dll位于同一文件夹中

我正在为我的公司设置一个CI服务器,并集成单元测试。我选择使用TeamCity和NUnit,因为它们在我过去工作过的其他组织中工作得很好 我已经启动并运行了TeamCity,现在我只创建了一个测试单元测试项目,这样我就可以验证TC是否正确处理了我的NUnit配置 < >我的解决方案文件包含6个C项目,一个VB.NET项目和一个非托管C++项目。对于每个项目(如果需要),都有一个单独的C#项目,其中包含相关项目的测试用例,并包含对该项目的引用 当NUnit步骤运行并在我告诉它要查看的地方找到.dl

如何使用测试资源管理器从Visual Studio中运行的Nunit测试适配器获取结果文件

我一直在通过VisualStudio中的测试资源管理器使用Specflow+运行测试,Specflow+运行程序会在最后自动生成一个漂亮的.html报告 我已经切换到Nunit测试运行程序(仍然通过测试资源管理器运行) 然而,在最后,我看不到任何结果文件在所有的xml或html 我如何让它生成这些?还是我找错地方了 我尝试在包含以下代码的项目根目录中添加.runsettings文件,但仍然没有写入任何结果: <?xml version="1.0" encoding="utf-8"?>

nUnit不是先执行OneTimeSetup,而是先执行OneTimeEardown

我最近从MSTest切换到nUnit来运行selenium测试。使用MSTest,我正在运行我的测试 当程序集初始化时。我读到,我可以做类似的事情,并删除 并添加了使用NUnit运行测试所需的所有元素,但顺序为 我读到的东西执行起来并不像我预期的那样有效,否则我可能无法做到这一点 Nunit的版本=3.12.0 NUnit3TestAdapter=3.17.0 下面是我的代码示例 有了cs文件,我的测试用例 和另一个cs文件,如下面所示,它们都位于同一名称空间中 我遇到的问题是,当我运行测试用例

在NUnit测试中实现类似ICollectionFixture的共享上下文

我在单元测试中使用NUnit,但我想实现一些类似于xUnit特性的东西 具体地说,我认为这对数据库集成测试非常有用,这样我就可以创建一个新的数据库,从多个测试类对该数据库运行所有测试,并在测试运行结束时删除该数据库 我知道我可以使用OneTimeSetUp/onetimeeardown属性对每个测试类执行此操作,但是 在本例中,我只想为整个测试运行创建一次数据库 我可以这样做,但是我在这个名称空间中有不需要数据库的测试类,所以必须等待创建一个数据库来运行一个非数据库测试会很烦人 我想知道Onet

配置以在teamcity中运行nunit测试项目

我有一个运行nunit测试的vb.net项目。我甚至很难正确地构建此项目,因为它不断给出以下未定义的错误“Type”。了解如何配置teamcity以从project生成和运行脚本吗 可能有些代码没有正确签入,TeamCity因此无法构建。尝试从存储库中重新签出到新文件夹,并在那里构建项目/解决方案 当项目构建时,我们可以考虑使用NUnit进行测试 可能有些代码没有正确签入,TeamCity因此无法构建。尝试从存储库中重新签出到新文件夹,并在那里构建项目/解决方案 当项目构建时,我们可以考虑使用N

如何通过nunit2report每次创建具有不同名称的报告?

我使用Nunit2报告的Nant genrate Nunit报告 每天,它都会取代旧的 如何使用不同的格式生成报告,如: TestReport_0815.html TestReport_0816.html .... 这是我的构建文件: <?xml version="1.0"?> <project name="dotNet_Login" default="build" basedir="."> <property name="nant.settings.curr

如何分析通过resharper运行的nunit测试的性能?

我正在使用resharper运行我的nunit测试,我想提高性能 我知道resharper使用的是nunit的内置版本。如何设置resharper/nunit,这样我就可以通过分析器运行单元测试,并查看在优化时我可以在哪里花费最好的时间。您可以启动测试并使用dotTrace对其进行配置(我启动测试并将dotTrace附加到它)。第二种选择是使用。我会把秒表线,我想配置和打印的价值观,并根据结果,我会开始分析代码 Stopwatch sw = Stopwatch.StartNew(); // co

Nunit 具有dotCover的TeamCity未在覆盖率报告中包括所有我的程序集

我想在TeamCity上运行NUnit并使用dotCover生成报告。但由于某些原因,我无法获取所有项目程序集的覆盖率报告 TeamCity配置如下所示 Teamcity: 6.5.3 NUnit: 2.5.10 .NET Runtime: Platform: x86 .NET Runtime: Version: v4.0 dotCover: bundled with TC not customized 我已检查所有*.dll*.xml*.pdb文件是否如以下所示位于目录中(未列出参考dl

Nunit PartCover生成空的输出xml文件

我正在使用PartCover生成代码覆盖率报告。我使用了下面的命令行 "C:\Program Files (x86)\PartCover\PartCover .NET 4.0\PartCover.exe" --target-work-dir Debug --target "C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console-x86.exe" --target-args "Test.dll /noshadow /xml=Reports\

Nunit 如何通过Azure powershell或Azure CLI将html文件从Azure VM传输到本地计算机

我正在为我的项目为我的组织开发一个自动化的QA脚本。我的目标是通过azure vms的自定义脚本扩展功能执行pester脚本。我执行了Pester并将结果导出为nunit xml。我想把xml从VM带回我的本地机器。一种方法是将xml从VM上传到blob存储中。但因为它需要使用SP帐户在VM中建立azure连接。我不喜欢这种方法 我想知道最好的方法来检索纠缠结果,并获得它以外的虚拟机。 非常感谢您的帮助。谢谢 我会为此使用共享访问签名令牌()。这样,您的脚本实际上不需要SP,它只需要令牌。该令牌

MonoDevelop上NUnit中的Assert.Inconclusive()

我刚刚开始在OsX上使用MonoDevelop并运行NUnit测试。除了我的Assert.Inconclusive()显示为错误而不是(在我的Windows机器上的NUnit测试运行程序中)非结论性之外,这一切都非常有效。尽管我在谷歌上搜索了很多关于这个问题的信息,但我找不到任何关于我应该做什么的信息。我只是做错了。我想要的是[Ignore],而不是Assert.Inconclusive()

Nunit 通过cc.net在远程计算机上启动测试

伙计们 我是cc.net工具的新手。我遇到了一个问题。我在chrome+nunit(2.6)+cc.net(1.6.7981.1)上使用了一个链式c#+webdriver。我想在远程机器上运行我的测试任务(没有cc.net服务器机器)。我已经调查了这个问题,但没有找到关于分布式启动webdriver测试的明确答案。 当前cc.net是否可能?我通过下一种方式解决了问题: 我在远程计算机上共享了一个文件夹,并在cc.net config中包含了一些任务 将代码复制到远程计算机(xcopy)的任务

NUnit 3.5.0是否与teamcity兼容

因此,我的nunit 2.6测试在team city中运行,结果显示在“测试”选项卡中。我只需选择内置nunit构建步骤,在“Runs tests from:”中键入包含测试的文件名,并在“nunit categories include:”中键入类别名称: 但是,如果我升级我的测试并从“NUnit runner”下拉列表中选择NUnit3,事情就会开始出错 在对命令行和控制台运行程序进行了大量的谷歌搜索和搜索之后,我无法在“结果在标签中”的兼容性级别上实现这一点 关于如何实现这一点,有很多建议

Nunit TestFixtureSetUp在通过cc.net运行时偶尔失败

我使用cc.net 1.4.2运行夜间构建。我也在使用nunit2.4.8。如果我手动强制构建,它可以正常工作,但是我每晚安排的大多数构建都会失败,比如testfixture安装失败。这是nunit2.4.8中的某个bug还是我找不到原因的其他东西是计划每晚运行的同一个cc.net项目被迫运行吗?如果没有,它们的配置方式可能会有所不同。如果它们是相同的,我建议在测试夹具设置代码中添加一些日志记录,看看是否可以跟踪问题。可能是服务器上夜间运行的任务(可能是备份或病毒扫描)导致了该问题。另一种可能是

nant:无效的元素nunit2。未知任务或数据类型

如何解决这个问题 我有这个ProjectName.UnitTests.config文件,我完全按照文档中所说的做了: 找到。我将提供Erich Eichinger给出的相同建议: 我建议避免nunit2任务 完全可以,只需切换到 nunit控制台[…] 此外,NUnit2.5还带来了一些额外的好处 <?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <

NUnit约束的神秘行为变化

使用NUnit 2.4.8时,以下测试通过,使用NUnit 2.5.10时,以下测试失败: 使用NUnit.Framework; 名称空间简单测试 { [测试夹具] 公共类NOTTEST { [测试] 公共void TestNotEquals() { var constraint=Is.Not.EqualTo(“foo”); Assert.That(constraint.Matches(“bar”)); } [测试] public void TestNotEmpty() { var constr

Nunit 为什么赢了';t resharper找到我的单元测试了吗?

由于某种原因,当我打开一个新的解决方案时,Resharper总是拒绝查找单元测试。我花了半个小时反复摸索/重建/拨弄,直到Resharper突然神奇地发现我的单元测试。一旦他们被发现,它每次都运行良好 测试示例: using NUnit.Framework; namespace NamespaceOfTheCodeToTest.Test { [TestFixture] public class FunctionalityTest { [Test]

Nunit测试-测试公共方法调用的私有方法代码的一部分

我正在尝试用私有方法(方法a)测试一段代码。在流中,此私有方法由公共方法调用。 为了在方法A中测试此代码,它从另一个私有方法(方法B)返回数据 如何测试这段代码?私有方法只是实现细节,因此所有功能都应该通过公共接口进行测试。在你的案例中,通过“我的测试”方法。安德烈亚斯尼科的回答是测试哲学的陈述——我经常同意这一点。但问题是如何解决的,所以我会这样回答,然后回到哲学部分 显然,如果你的方法是私有的,你不能调用它(除了通过反射,在我看来这有点傻)。最简单的方法是将其公开,并在其前面粘贴一条评论,上

上一页   1   2   3    4   5   6  ... 下一页 最后一页 共 18 页