小编rhu*_*hes的帖子

Moq验证对象参数

我正在尝试验证一个类的参数.正在测试的代码很好.该错误正在测试中.

我尝试过两种方法,都失败了.

以下是我的尝试:

1:

this.MockImageResizeFilter.Verify(m => m.Filter(this.UploadedFileData, new ImageFilterOptions()
    {
        Width = 256,
        Height = 256,
    }));
Run Code Online (Sandbox Code Playgroud)

即使作为第二个参数传递的对象具有相同的属性,这也总是失败.第一个参数验证正常.

2:

this.MockImageResizeFilter.Setup(m => m.Filter(It.IsAny<byte[]>(), It.IsAny<ImageFilterOptions>()))
    .Callback<byte[], ImageFilterOptions>((data, options) =>
        {
            Assert.AreEqual(this.UploadedFileData, data, "data");
            Assert.AreEqual(filterOptions.Width, options.Width, "Width");
            Assert.AreEqual(filterOptions.Height, options.Height, "Height");
        }
    );
Run Code Online (Sandbox Code Playgroud)

这总是通过,即使它应该失败.回调中的Asserts确实失败了,但是异常没有传递给外部上下文,因此测试总是通过.

你能帮我找到我做错的事吗?

.net c# unit-testing moq

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

`struct X typedef`与`typedef struct X`的含义是什么?

我在现有代码库中有以下(工作)代码,用于C和C++之间共享的包含文件,在MSVC(2010)和Windows DDK上编译:

struct X {
    USHORT x;
} typedef X, *PX;
Run Code Online (Sandbox Code Playgroud)

和:

enum MY_ENUM {
    enum_item_1,
    enum_item_2 
} typedef MY_ENUM;
Run Code Online (Sandbox Code Playgroud)

据我所知,正确的定义应如下所示:

typedef struct {
    USHORT x;
} X, *PX;
Run Code Online (Sandbox Code Playgroud)

有下面的表格是否有任何目的?我错过了什么吗?

c c++ struct visual-studio-2010

54
推荐指数
5
解决办法
2483
查看次数

Javascript,查看[对象HTMLInputElement]

我刚刚开始学习HTML.在alert()我的一个变量上做一个给我这个结果[object HTMLInputElement].

如何获取在文本字段中添加的数据,我的输入类型是文本?

html javascript

25
推荐指数
3
解决办法
15万
查看次数

C++ 11 Curly Braces

我好几年没用过C++了,刚刚遇到过这个问题:

program.build({ default_device })
Run Code Online (Sandbox Code Playgroud)

定义是:

cl_int build(
    const VECTOR_CLASS<Device>& devices,
    const char* options = NULL,
    void (CL_CALLBACK * notifyFptr)(cl_program, void *) = NULL,
    void* data = NULL) const
Run Code Online (Sandbox Code Playgroud)

那里的花括号是什么?我之前从未见过像这样的函数调用.我假设它与函数指针有关,但这似乎是可选的?

c++ syntax c++11

23
推荐指数
2
解决办法
4113
查看次数

带图像和文本的WinForms按钮

我有一个标准按钮,WinForm带有一些文字和图像.它看起来像这样:

按键

如何设置按钮以使图像与文本左侧对齐?我试过了ImageAlign,但似乎没有考虑按钮的文字.

.net .net-3.5 winforms

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

MVC 4和Razor的扩展方法

我创建了一个扩展方法,并将其命名空间包含在我的web.config文件中.扩展方法工作正常,测试代码可以接受.问题是,我仍然收到与找不到命名空间有关的错误.

我得到的ASP .NET错误消息是:

CS1061:'System.Uri'不包含'IsCurrentUrl'的定义,并且没有扩展方法'IsCurrentUrl'接受类型'System.Uri'的第一个参数可以找到(你是否缺少using指令或程序集引用?)

以下是各自的代码.

Web.config文件:

<system.web>
    <httpRuntime targetFramework="4.5" />
    <compilation debug="true" targetFramework="4.5" />
    <pages>
        <namespaces>
            <add namespace="System.Web" />
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.WebPages" />
            <add namespace="MyMainSite2.Library.Extensions" />
        </namespaces>
    </pages>
</system.web>
Run Code Online (Sandbox Code Playgroud)

扩展方法代码:

namespace MyMainSite2.Library.Extensions
{
    public static class UriExtensions
    {
        #region Public Static Methods

        public static bool IsCurrentUrl(this Uri uri, string url)
        {
            if (String.IsNullOrWhiteSpace(url))
                return false;

            url = url.Trim().ToLower();
            string absolutePath = uri.AbsolutePath.Trim().ToLower();

            if (!url.StartsWith("/") …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc razor

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

Java:For-Each循环和引用

我想知道以下循环是否创建了对象的副本,而不是给我一个对它的引用.原因是,因为第一个例子没有分配我的数组对象,但是第二个例子没有.

MyObject objects[] = new MyObject[6];
for (MyObject o: objects) {

    o = new MyObject();
}

MyObject objects[] = new MyObject[6];
for(int i = 0; i < objects.length; i++) {

    objects[i] = new MyObject();
}
Run Code Online (Sandbox Code Playgroud)

java loops for-loop object

14
推荐指数
3
解决办法
6万
查看次数

Azure(HTTP 500内部服务器错误).我需要一个更好的错误消息

我只有一个问题,如何更详细地描述我的错误?

•我将数据库发布到Azure.它工作正常.

•我从桌面运行我的网站(Visual Studio 2010),它在Azure中访问我的数据库没有任何问题.

•当我将我的网站发布到Azure时,我没有收到任何错误.但是当我访问网页时,我得到"HTTP 500内部服务器错误".我需要一个更详细的错误消息.

我有自定义错误模式="关闭".我从"FTP诊断日志"下载但没有任何内容.
我没有使用虚拟机.

有什么想法可以获得更好的错误信息吗?

azure

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

停止IIS Express自动退出

我正在运行Visual Studio 2013.

当我停止调试我的MVC应用程序时,IIS Express会自动停止.我怎么能阻止这种情况发生?

visual-studio iis-express

10
推荐指数
1
解决办法
8268
查看次数

Directory.GetFiles - 依赖于OS的不同输出

我有一个简单的程序.它运行.NET 4.5并在Visual Studio 2013中构建.

D:\\MyDir充满了.xlsx文件,没有.xls文件.当我在Windows 8.1 x64上运行该程序时,过滤器*.xls不返回任何结果.当我在Windows 7 x86上使用相同的.NET版本运行相同的程序时,*.xls过滤器返回与过滤器相同的结果*.xlsx.

两个系统上的测试文件夹肯定包含相同的数据.

我错过了什么,或者这是.NET和/或Windows中的错误?

各自的代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace throw_test
{
    static class Program
    {
        static void Main()
        {
            int fileCount1 = Directory.GetFiles("D:\\MyDir", "*.xlsx").Length;
            int fileCount2 = Directory.GetFiles("D:\\MyDir", "*.xls").Length;

            Console.WriteLine("File Count 1: " + fileCount1);
            Console.WriteLine("File Count 2: " + fileCount2);

            Console.Read();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1

当我使用Windows 8.1 x64中的命令提示符导航到该目录时:

  • dir *.xlsx …

.net c# visual-studio .net-4.5 visual-studio-2013

9
推荐指数
2
解决办法
724
查看次数