小编use*_*410的帖子

使用Moq验证方法调用

我对C#中的单元测试相当新,并且学习使用Moq.以下是我要测试的课程.

class MyClass
{
    SomeClass someClass;
    public MyClass(SomeClass someClass)
    {
        this.someClass = someClass;     
    }

    public void MyMethod(string method)
    {
        method = "test"
        someClass.DoSomething(method);
    }   
}

class Someclass
{
    public DoSomething(string method)
    {
        // do something...
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我的TestClass:

class MyClassTest
{
    [TestMethod()]
    public void MyMethodTest()
    {
        string action="test";
        Mock<SomeClass> mockSomeClass = new Mock<SomeClass>();
        mockSomeClass.SetUp(a => a.DoSomething(action));
        MyClass myClass = new MyClass(mockSomeClass.Object);
        myClass.MyMethod(action);
        mockSomeClass.Verify(v => v.DoSomething(It.IsAny<string>()));
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

Expected invocation on the mock at least once, but was never performed …
Run Code Online (Sandbox Code Playgroud)

c# testing methods moq

117
推荐指数
1
解决办法
14万
查看次数

C#中的增量JSON解析

我试图逐步解析JSON,即基于条件.

下面是我的json消息,我目前正在使用JavaScriptSerializer来反序列化消息.

string json = @"{"id":2,
"method":"add",
"params":
   {"object":
       {"name":"test"
        "id":"1"},
        "position":"1"}
  }";

JavaScriptSerializer js = new JavaScriptSerializer();
Message m = js.Deserialize<Message>(json);
Run Code Online (Sandbox Code Playgroud)

消息类如下所示:

 public class Message
 {
        public string id { get; set; }
        public string method { get; set; }
        public Params @params { get; set; }
        public string position { get; set; }
 }
public class Params
{
        public string name { get; set; }
        public string id{ get; set; 
}
Run Code Online (Sandbox Code Playgroud)

上面的代码解析消息没有问题.但它会立即解析整个JSON.我希望它仅在"method"参数的值为"add"时才进行解析.如果它不是"添加",那么我不希望它继续解析其余的消息.有没有办法根据C#中的条件进行增量解析?(环境:VS 2008与.Net 3.5)

c# parsing json

11
推荐指数
3
解决办法
9422
查看次数

Xcode中重复的符号错误

当我在添加自己的框架后尝试构建项目时,我在Xcode 4.5.1中遇到"重复符号"错误.我验证了重复项的框架文件,但没有.但是当我将框架添加到项目中时,它会抱怨这些错误.请建议..

duplicate symbol _NXArgc in:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol _NXArgv in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol ___progname in:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol _environ in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW

duplicate symbol start in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW
ld: 8 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

提前致谢..

xcode symbols compiler-errors duplicates

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

在Windows安装项目中注册和注销DLL

我有几个dll文件,分别安装/卸载Windows安装程序时需要注册/注销。

我尝试了以下操作-创建一个.bat文件来注册dll。问题是我无法在安装项目中使用“自定义操作”添加.bat文件。

另外,如何在卸载时运行DLL注销?请指教。谢谢。

windows dll setup-project

4
推荐指数
1
解决办法
8842
查看次数

使用WiX在单个MSI中注册32位和64位DLL

我需要创建一个单一的Windows安装程序,当它在目标m/c上运行时执行以下任务:

  • 运行服务
  • 注册一个32位DLL
  • C:\Windows\sysWoW64文件夹和存储中存储32位和64位log4cxx.dll库C:\Windows\system32
  • 注册64位DLL

目前,我正在使用WiX创建一个安装程序,我现在可以注册32位或64位安装程序但不能同时注册.不幸的是,我没有选择分离32位和64位安装程序,因为我需要在64位计算机上注册这两个安装程序.

我想知道是否有办法在一个安装程序中注册这两个DLL.提前致谢.

windows dll 64-bit 32-bit wix

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

iOS设备的MDM OTA注册

我正在尝试在企业中开发和分发iOS应用程序.我在iOS文档中遇到过这个问题 - 部署iPhone和iPad MDM.在本文中,它指定可以无线方式执行OTA注册(下面引用的行).这是第一次真的有可能吗?MDM服务器如何无线推送到设备 - 这是第一次?它提到它可以使用应用程序或门户网站完成.这是否意味着应用程序将设备凭据(如UDID)发送到MDM服务器进行注册?如果有人为iOS设备执行了OTA注册,请分享详细信息.提前致谢.

注册

配置移动设备管理服务器和网络后,管理iPhone或iPad的第一步是将其注册到MDM服务器.这在设备和服务器之间创建了一种关系,允许按需管理它而无需进一步的用户交互.

这可以通过USB将iPhone或iPad连接到计算机来完成,但大多数解决方案都通过无线方式提供注册配置文件.一些MDM供应商使用应用程序启动此过程,其他供应商通过将用户定向到Web门户来启动注册.每种方法都有其优点,两者都用于通过Safari触发无线注册过程.

registration ota mdm ios

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