小编Ser*_*ero的帖子

单元测试Windows Phone 7.1库

我对Windows Phone开发非常陌生,我在这里读过,没有针对Windows Phone应用程序的单元测试框架.

我发现它很奇怪,例如,如果我有一个类库,其中包含一堆执行操作的类,我将创建一个单元测试项目,添加类库的引用,并以与我一直相同的方式对每个类进行单元测试了.

因此,我创建了一个带有MyClass类的虚拟Windows Phone类库,其上包含Add(int x,int y)方法,并添加了对常规测试项目的引用.

有趣的是,引用上有一个警告标志,但测试会相应地运行,传递和失败.

所以我的问题是:

单元测试Windows Phone代码的真正意义是什么?
为什么测试项目中的Windows Phone类库引用会出现警告信号?

谢谢你的启发:)

c# windows-phone-7.1

3
推荐指数
1
解决办法
612
查看次数

使用StructureMap注入连接字符串不起作用

我对结构图仍然很新,所以我无法理解为什么这不起作用.我正在向存储库注入"连接字符串",并且我不断从结构图中收到以下错误:

StructureMap异常代码:205缺少所请求的实例属性"purchaseOrdersFilePath"for InstanceKey"a04b4f71-4171-4e9f-b98d-170fc9ee005f"

在旁注中,连接字符串是引号,因为我正在使用linq到xml,因此"连接字符串"实际上是文件的路径.我正在添加它,以防万一它可能与问题有关.

我的代码如下:

public class PurchaseOrderRepository : IPurchaseOrderRepository
{
    private readonly string PurchaseOrdersFilePath;

    public PurchaseOrderRepository(string purchaseOrdersFilePath)
    {
        if (string.IsNullOrWhiteSpace(purchaseOrdersFilePath)) throw new ArgumentNullException("purchaseOrdersFilePath");

        PurchaseOrdersFilePath = purchaseOrdersFilePath;
    }
 }
Run Code Online (Sandbox Code Playgroud)

在我的Global.asax文件中,我有以下配置语句:

private void RegisterControllerFactory()
{
    var ioc = new Container();

    var controllerFactory = new IocControllerFactory(ioc);
    ControllerBuilder.Current.SetControllerFactory(controllerFactory);

    ioc.Configure(r => r.Scan(x =>
    {
        x.AssemblyContainingType<HomeController>();
        x.AddAllTypesOf<IController>();
        x.Include(t => typeof(IController).IsAssignableFrom(t));
    }));

    ioc.Configure(r => r
        .ForConcreteType<PurchaseOrderRepository>()
        .Configure.Ctor<string>().Is(@"C:\Users\sromero\Documents\Visual Studio 2010\Projects\DIDemo\SupportFiles\POS.xml"));
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢你的帮助.

c# structuremap dependency-injection

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

为什么我的MVC剃刀视图不想实例化ResourceManager

我在MVC 3视图上编写此代码:

<table>
    <tr>
        <th>@SecondIndexStrings.Activity_ActivityName</th>
        <th>@SecondIndexStrings.Activity_DateStarted</th>
        <th>@SecondIndexStrings.Activity_ProficiencyLevel</th>
    </tr>
    @foreach (var activity in Model.Activities)
    {
        <tr>
            <td>@activity.ActivityName</td>
            <td>@activity.DateStarted.ToShortDateString()</td>
            <td>@new ResourceManager(typeof(IndexStrings)).GetString(activity.ProficiencyLevel.ToString())</td>
        </tr>
    }
</table>
Run Code Online (Sandbox Code Playgroud)

由于某种原因,带有"@new ResourceManager ..."的行无法识别为有效,并且每次运行它时都会给出编译错误.

如果我只编写@ResourceManager,则文本变为蓝色表示被识别为有效类,对于IndexStrings资源也是如此,但是,整个事情似乎并不知道那些应该是类.

我究竟做错了什么?

谢谢.

c# localization asp.net-mvc-3

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

在C#中,使用Delegate类来调用构造函数

有一个方法定义如下:

public static void MyMethod(Delegate action, parames object[] parameters)
{
   action.DynamicInvoke(parameters);
   //Do something
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,这个方法可以很好地接收任意数量参数的各种方法和函数,但我想知道是否有一种方法可以将构造函数作为Delegate参数传递.

谢谢您的帮助.

c#

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