小编Ada*_*m V的帖子

单元测试中的随机数据?

我有一个同事为对象填​​充单元测试,这些对象用随机数据填充他们的字段.他的理由是它提供了更广泛的测试,因为它将测试许多不同的值,而普通测试仅使用单个静态值.

我给了他很多不同的理由,主要是:

  • 随机值意味着测试不是真正可重复的(这也意味着如果测试可以随机失败,它可以在构建服务器上执行此操作并中断构建)
  • 如果它是一个随机值并且测试失败,我们需要a)修复对象并且b)强迫我们每次都测试该值,所以我们知道它有效,但由于它是随机的,我们不知道它的值是什么

另一名同事补充道:

  • 如果我正在测试异常,则随机值将无法确保测试最终处于预期状态
  • 随机数据用于清除系统和负载测试,而不是用于单元测试

任何人都可以添加其他原因我可以让他让他停止这样做吗?

(或者,这是一种可接受的编写单元测试的方法,我和我的其他同事都错了?)

tdd unit-testing mocking

133
推荐指数
10
解决办法
3万
查看次数

用两个单引号替换单引号的正则表达式

我遇到了一个问题,我认为是由于需要对字符串中的一些单引号加倍.但是,JS的string.replace使用RegEx,我从未手动构建RegEx.

有人可以帮我构建一个RegEx来查找单引号并用两个单引号替换它吗?

javascript regex

36
推荐指数
3
解决办法
9万
查看次数

C#.NET - 存储一些非常小规模的持久性信息的方法?

我有一个需要极少持久存储的应用程序.实际上,我们谈论的是<30个整数.所有应用程序的需求是在下次启动时知道那些整数(并且整数在运行时会发生变化).

数据库对此来说太过分了,但我并不特别想要使用文本文件.

C#是否有任何机制可以在运行之间保持这样的小值?我注意到你可以将东西存储在资源文件和其他一些地方 - 我不知道你是否可以在运行时更改它们.我刚刚学习C#和.NET来完成一份新工作,所以如果这是一个愚蠢的问题,请道歉!

.net c# persistent-storage

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

将两个图像合并为一个新图像

我有两个不同尺寸的JPEG文件:

Image1(宽度1,高度1)

Image2(宽度2,高度2)

我想创建Image3(Width3,Height3),左侧是Image1,右侧是Image2.

.net c# image bitmap

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

在目录中搜索大量文件?

我正在使用MSVE,我有自己的瓷砖,我在顶层显示.问题是,有很多,他们在网络服务器上.在某些目录中,有大约30,000多个文件.最初我调用了Directory.GetFiles,但是一旦我开始在伪实际环境中进行测试,它就会超时.

以编程方式列出并遍历这么多文件的最佳方法是什么?

编辑:我的同事建议使用MS索引服务.有没有人尝试过这种方法,并且(如何)有效?

c# directory file-management

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

如何创建通用事件提升方法

我有一组具有相同签名的事件.现在我想知道我是否可以创建一个通用事件处理程序引发方法来为所有事件执行此操作?

  • 这有可能发送一个事件<T>吗?

c# asp.net generics events event-handling

7
推荐指数
1
解决办法
3685
查看次数

泛型类的通用集合?

我有一个从数据库中填写的类:

public class Option<T>
{
  public T Value { get; set; }
  public T DefaultValue { get; set; }
  public List<T> AvailableValues { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想要一个他们的集合:

List<Option<T>> list = new List<Option<T>>();
Option<bool> TestBool = new Option<bool>();
TestBool.Value = true;
TestBool.DefaultValue = false;
list.Add(TestBool);
Option<int> TestInt = new Option<int>();
TestInt.Value = 1;
TestInt.DefaultValue = 0;
list.Add(TestInt);
Run Code Online (Sandbox Code Playgroud)

它似乎不起作用.想法?

c# generics collections

4
推荐指数
2
解决办法
613
查看次数

如何只选择下一个较小的值

我试图用SQL从数据库中选择较小的数字.

我有桌子,我有这样的记录

ID NodeName NodeType
4  A        A
2  B        B
2  C        C
1  D        D
0  E        E
Run Code Online (Sandbox Code Playgroud)

和其他列,如名称和类型.

如果我传递"4"作为参数,那么我想收到下一个最小的数字记录:

ID NodeName NodeType
2  B        B
2  C        C
Run Code Online (Sandbox Code Playgroud)

现在,如果我正在使用该<标志,那么它正在给我

ID NodeName NodeType
2  B        B
2  C        C
1  D        D
0  E        E
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这个工作?

sql sql-server

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

在页面中添加第二个<%@ Register%>行会导致编译错误

当我的页面中只有一个<%@ Register%>行时,它会正常加载.

当我添加第二个时,它给了我这个编译错误:

编译器错误消息:CS0433:类型'ASP.test1_ascx'存在于'c:\ Users\me\AppData\Local\Temp\Temporary ASP.NET Files\root\c2d75602\aae4f906\App_Web_dta-e2tq.dll'和' c:\ Users\me\AppData\Local\Temp\Temporary ASP.NET Files\root\c2d75602\aae4f906\App_Web_layerwindow.ascx.cdcab7d2.zxul1sik.dll'

(略有匿名)

有任何想法吗?

编辑:我刚注意到的其他信息:YSOD中虚线上方的行说:[System.Diagnostics.DebuggerNonUserCodeAttribute()]当我搜索有关此信息时,我找到一个页面告诉我检查以确保我没有'我有任何打开的括号我没有关闭.还没有找到,但这可能是问题的一部分.

编辑:唉.此时只想杀死电脑.在daughtkom建议创建一个新项目以查看代码是否从头开始工作之后,我做了那个并且它有效.然后我决定创建一个新的控件并将Test1代码复制到那里......然后它就开始工作了.(没有对Test1或Default.aspx进行任何更改,只是创建了Test1-2.ascx.)然后我将Test2的链接添加到Default.aspx中......现在它给了我同样的错误,只是使用了test2.创建一个Test2-2.ascx并不是这次修复它.

c# asp.net

0
推荐指数
1
解决办法
163
查看次数

使用partial类添加私有属性?

我有一个我定义的公共类,它最终将成为API的一部分,因此它必须具有某些公共属性.但是,我还希望某些属性是只读的,除非它们是在我自己的项目中创建的(例如,如果用户有我们的API,他们可以创建一个User对象,但是他们无法写入其ID字段,仅当我们从数据库中提取时才会填写).

我的想法是使用相同的命名空间,即"公共"DLL和"私有"DLL,有两个独立的程序集.公共DLL中的原型将如下所示:

namespace CompanyName
{
  public partial class User
  {
    public Id { get; }
    public Name { get; set; }
  }
}
Run Code Online (Sandbox Code Playgroud)

并且私有DLL将具有:

namespace CompanyName
{
  public partial class User
  {
    public Id { set; }
  }
}
Run Code Online (Sandbox Code Playgroud)

这会有用吗?如果没有,有什么更好的方法呢?

c# partial-classes

0
推荐指数
2
解决办法
2227
查看次数