繁体   English   中英

使用 NUnit 和继承的 asp.net 类进行了单元测试

[英]Got an issue unit testing with NUnit and an asp.net class that inherits

首先对不起我的英语,它不是我的母语。

我使用我公司的自制框架开发了一个 Asp.Net 应用程序。

使用 NUnit 框架开始单元测试时遇到问题。 我想测试从另一个类继承的类中的方法,但在开始任何测试之前我有很多错误:

NUnit Adapter 3.12.0.0:测试执行开始在 C:\\PRIV\\Projects\\WebSite0\\test\\bin\\Debug\\test.dll 中运行所有测试 NUnit3TestExecutor 转换了 1 个 NUnit 测试用例中的 1 个 NUnit 测试用例 SetUp failed for test fixture test.Class1 System.InvalidOperationException : Aucune implémentation Fournie Pour ExecEnv à CDM.DevbCommon.Global.ExecEnv.get_Implementation() dans d:\\BuildAreas\\mk_build\\DEVBCOMMON\\V5.210\\PROJECTS\\devbcommon\\Global\\ExecEnv.cs:ligne.Global.ExecEnv.get_Implementation() d:\\BuildAreas\\mk_build\\DEVBCOMMON\\V5.210\\Global\\ExecEnv.cs:ligne. .TraceBase.GetObjectFromStorage() dans d:\\BuildAreas\\mk_build\\DEVBCOMMON\\V5.210\\PROJECTS\\devbcommon\\TraceLog\\TraceBase.cs:ligne 37 à CDM.DevbCommon.Toolkit.DocReflectionToolkit.GetDocumentation(Assembly assembly) BuildAreas\\mk_build\\DEVBCOMMON\\V5.210\\PROJECTS\\devbcommon\\Toolkit\\DocReflectionToolkit.cs:ligne 115 à CDM.DevbCommon.Toolkit.DocReflectionToolkit.GetDocumentation(Type type) dans d:\\BuildAreas\\mk_build\\DEVB10\\V PROJECTS\\devbcommon\\Toolkit\\DocReflectionToolkit.cs:ligne 46 à CDM.DevbCommon.Navigation.ReflexiveStep s.Reflection.ReflexiveActionProviderBase.SetupSignature(PublicStepSignature Signature) 和 d:\\BuildAreas\\mk_build\\DEVBCOMMON\\V5.210\\PROJECTS\\devbwebapplication4\\Navigation\\ReflexiveSteps\\Reflection\\ReflexiveActionProviderBase.cs:ligne StepD.reflexive. PageStep..ctor() 和 d:\\BuildAreas\\mk_build\\DEVBCOMMON\\V5.210\\PROJECTS\\devbwebapplication4\\Navigation\\ReflexiveSteps\\Steps\\PageStep.cs:ligne 27 à CDM.DevbCommon.Navigation.ReflexiveSteps.ObjectPageStep`1.. ctor() dans d:\\BuildAreas\\mk_build\\DEVBCOMMON\\V5.210\\PROJECTS\\devbwebapplication4\\Navigation\\ReflexiveSteps\\Steps\\ObjectPageStep.cs:ligne 27 à CDM.WebSite0.Commands.EmptyPage..ctor() à test.Class1 ..ctor() dans C:\\PRIV\\Projects\\WebSite0\\test\\Class1.cs:ligne 17 NUnit Adapter 3.12.0.0:测试执行完成

当我隐藏继承时,单元测试正常工作没有问题。 但是通过继承,我收到了System.InvalidOperationException

这里是单元测试类:

namespace test
{
    [TestFixture]
    public class Class1 
    {
        private readonly EmptyPage vm = new EmptyPage();

        [Test]
        public void TestAddition()
        {
            double actAddNumberResult = vm.AddNumber(5, 7);
            Assert.That(actAddNumberResult, Is.EqualTo(12) );
        }


这里是要测试的类:

 public class EmptyPage : ObjectPageStep<EmptyPageViewModel>
    {

        public void Prepare()
        {
        }

        public double AddNumber(double nombre1, double nombre2)
        {
            return nombre1 + nombre2;
        }

我尝试使用 XUnit,但遇到了同样的问题。

任何的想法?

我已经找到了问题所在。 从一开始,我就忘了告诉你,但要测试的课程是内部访问。 我改为公开以使其可见。 我再次将其更改为 Internal 并添加到 Properties/AssemblyInfo.cs

[assembly: InternalsVisibleTo("TestClass")]

现在可以了,谢谢大家的帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM