我对Windows Phone开发非常陌生,我在这里读过,没有针对Windows Phone应用程序的单元测试框架.
我发现它很奇怪,例如,如果我有一个类库,其中包含一堆执行操作的类,我将创建一个单元测试项目,添加类库的引用,并以与我一直相同的方式对每个类进行单元测试了.
因此,我创建了一个带有MyClass类的虚拟Windows Phone类库,其上包含Add(int x,int y)方法,并添加了对常规测试项目的引用.
有趣的是,引用上有一个警告标志,但测试会相应地运行,传递和失败.
所以我的问题是:
单元测试Windows Phone代码的真正意义是什么?
为什么测试项目中的Windows Phone类库引用会出现警告信号?
谢谢你的启发:)
我对结构图仍然很新,所以我无法理解为什么这不起作用.我正在向存储库注入"连接字符串",并且我不断从结构图中收到以下错误:
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)
我究竟做错了什么?
谢谢你的帮助.
我在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资源也是如此,但是,整个事情似乎并不知道那些应该是类.
我究竟做错了什么?
谢谢.
有一个方法定义如下:
public static void MyMethod(Delegate action, parames object[] parameters)
{
action.DynamicInvoke(parameters);
//Do something
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这个方法可以很好地接收任意数量参数的各种方法和函数,但我想知道是否有一种方法可以将构造函数作为Delegate参数传递.
谢谢您的帮助.