相关疑难解决方法(0)

从XAML调用参数化构造函数

在使用WPF时,我注意到当我将控件添加到XAML文件时,会调用默认构造函数.

有没有办法调用参数化构造函数?

wpf xaml

58
推荐指数
4
解决办法
4万
查看次数

为何依赖属性?

为什么微软会采用依赖属性和依赖对象的方式而不是使用反射和属性?

silverlight wpf dependency-properties

41
推荐指数
2
解决办法
1万
查看次数

用于数据驱动测试的类/模式感知测试数据生成策略

我最近开始在我工作的地方推动TDD.到目前为止事情进展顺利.我们正在编写测试,我们让它们在提交时自动运行,我们一直在寻求改进我们的流程和工具.

我发现可以改进的一件事是我们如何设置我们的测试数据.在严格的单元测试中,我们经常发现自己实例化和填充复杂的CLR对象.这是一种痛苦,通常只在少数情况下进行测试.

我想要推动的是数据驱动测试.我认为我们应该能够从文件中加载我们的测试数据,甚至可以从模式中动态生成它们(尽管如果我可以生成对象的所有可能配置,那么我只考虑动态执行它)配置很小).而且有我的问题.

我还没有找到一个为C#CLR对象生成测试数据的好策略.

我研究了从XSD生成XML数据,然后使用它将其加载到我的测试中DataSourceAttribute.这似乎是一个很好的方法,但我遇到了生成XSD文件的麻烦. xsd.exe由于我们的类有接口成员,所以会失败.我也试过svcutil.exe在我们的程序集上使用,但因为我们的代码是单片的,所以输出是巨大而棘手的(许多相互依赖的.xsd文件).

有哪些其他生成测试数据的技术?理想情况下,生成器将遵循模式(可能是xsd,但最好是类本身),并且可以编写脚本.技术说明(不确定这是否相关,但不能伤害):

  • 我们正在使用Visual Studio的单元测试框架(在中定义Microsoft.VisualStudio.TestTools.UnitTesting).
  • 我们正在使用RhinoMocks

谢谢

额外信息

我对此感兴趣的一个原因是测试我们的Adapter类.它需要一个复杂而复杂的遗留实体并将其转换为DTO.遗留实体是意大利面条的一团糟,不能轻易地分成由接口定义的逻辑子单元(如建议的那样).这将是一个很好的方法,但我们没有那么奢侈.

我希望能够生成这个遗留实体的大量配置,并通过适配器运行它们.配置数量越多,当下一个开发人员(无视应用程序的90%)更改旧实体的架构时,我的测试失败的可能性就越大.

UPDATE

为了澄清,我不打算为每次执行测试生成随机数据.我希望能够生成数据以涵盖复杂对象的多种配置.我想离线生成这些数据并将其存储为我的测试的静态输入.

我只是重新阅读了我的问题并注意到我实际上最初要求随机生成.我很惊讶我要求了!我已经更新了问题以解决这个问题.对此感到抱歉.

.net c# tdd unit-testing

15
推荐指数
1
解决办法
562
查看次数

如何在wpf控件构造函数中传递参数?

我已经编写了我的控件并尝试传递参数以进行额外的初始化但是有错误=((类型Ajustcontrol无法使用名称attribut).如何正确传递数据?这是我在c#中的代码:

public AjustControl(BaoC input)
        {
            InitializeComponent();

            populateAdjustControl(input);

        }
Run Code Online (Sandbox Code Playgroud)

错误:错误15类型'AjustControl'不能具有Name属性.没有默认构造函数的值类型和类型可以用作ResourceDictionary中的项.第470行位置26. D:\ Prj\aaa\MainWindow.xaml 470 26 Studio

c# wpf xaml

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

wpf ×3

c# ×2

xaml ×2

.net ×1

dependency-properties ×1

silverlight ×1

tdd ×1

unit-testing ×1