小编Yan*_*nis的帖子

将TDD用于库/ API代码和BDD作为集成测试是否有意义?

我是BDD的全新手,我想了解它在开发周期中的作用.在TDD方法中,我们通常会为库或apis编写单元测试,我们会模拟对象,这很好,因为它甚至可以驱动我们的设计.这些测试将在实际代码之前编写,这很好.

我知道BDD更多的是关于规范/场景测试,我可以看到它非常适合根据实际代码测试业务需求.但是编写这些测试的最佳实践是什么?我们是否仍然继续编写单独的测试(如在TDD中)模拟出依赖关系并为可能出错的每一件事编写单元测试?然后写我们的bdd测试?我们首先编写bdd测试吗?我们是否只针对单个组件编写bdd测试?

我使用.NET并且通常编写asp.net mvc应用程序,但这更像是一个理论问题而且独立于底层编程语言.

非常感谢.

tdd bdd unit-testing

5
推荐指数
1
解决办法
472
查看次数

为Azure预览门户中的现有VM创建Azure负载均衡器

我一般不会问这样的问题但是我的耐心已经用完,因为我已经失去了一天.有谁知道有人可以创建一个简单的Load Balancer来负载平衡两个现有的VM.虚拟机是Rabbit MQ,我需要在前面放置一个负载均衡器来相应地分配流量.

我希望我能给予任何有帮助的人赏金.

谢谢

load-balancing azure

5
推荐指数
1
解决办法
529
查看次数

Azure D 系列与 DS 系列中持久性的简单解释

我正在查看 Azure D 系列虚拟机并将它们与 DS 系列虚拟机进行比较。我看到 D 系列中的磁盘是临时 SSD(无论这意味着什么),而在 DS 系列中它是本地 SSD。到目前为止,我的理解是临时 SSD 意味着存在于该机器中,因此如果机器发生变化(例如放大或缩小),那么数据将丢失。这是我的问题。

  1. 我创建了一个 (Linux) D 系列 VM。我可以看到两个磁盘。为什么有两个而不是一个?
  2. 我在“临时”SSD 中放置了一些数据并上下扩展了机器。我最初在该 SSD 中创建的数据仍然存在。
  3. D 系列与 DS 系列机器之间的性能差异是什么(如果有的话)?

谢谢雅尼斯

virtual-machine azure

5
推荐指数
1
解决办法
3425
查看次数

通过在大文本上多次调用 Regex.IsMatch 来优化性能

我有一个很长的文本(50-60 KB),我需要针对它运行几个正则表达式(总共大约 100 条规则)。然而,这太慢了,它基本上不起作用。

我所做的就是围绕规则创建一个循环,其中每个规则执行一个Regex.IsMatch().

有没有办法优化这个?

更新

每个规则正在做什么的示例代码:

public class SomeRegexInterceptor : ValidatorBase
    {
        private readonly Regex _rgx = new Regex("some regex", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline); 

        public override void Intercept(string html, ValidationResultCollection collection)
        {
            if (!_rgx.IsMatch(html)) return;

            /* do something irrelevant here */
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# regex

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

Mongo db/C# - 如何进行边界框查询?

每个标题 - 我正在使用官方的mongodb驱动程序,我希望获得给定边界框内的所有POI.

到目前为止,我有:

MongoCollection<BsonDocument> collection = _MongoDatabase.GetCollection("pois");

BsonArray lowerLeftDoc = new BsonArray(new[] { lowerLeft.Lon, lowerLeft.Lat});
BsonArray upperRightDoc = new BsonArray(new[] { upperRight.Lon, upperRight.Lat});

BsonDocument locDoc = new BsonDocument 
{
   { "$within", new BsonArray(new[] { lowerLeftDoc, upperRightDoc})}
};

BsonDocument queryDoc = new BsonDocument { { "loc", locDoc }};

IList<TrafficUpdate> updates = new List<TrafficUpdate>();
var results = collection.Find(new QueryDocument(queryDoc)).SetLimit(limit);
foreach (BsonDocument t in results)
{
} 
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.我明白了:

QueryFailure标志在类型中是未知$:0(响应是{"$ err":"未知$在类型中:0","代码":13058}).

c# mongodb nosql mongodb-.net-driver

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

没有注释的WCF合同

我想知道是否有任何方法可以在不使用[DataContract]和[DataMember]注释的情况下定义WCF Contract类.原因是我们目前拥有的域模型相当干净,所以我们希望保持这种方式.什么是最好的做法?创建一个Transfer对象并将域模型对象复制到一个传输对象(具有所需的注释并且是在Client和Server之间传输的契约)?或者以某种方式不注释对象模型并以不同的方式指定契约.

c# wcf

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

AWS SimpleDb与Azure DocumentDb有何不同?两者如何与ElasticSearch不同

就......而言

  1. 可扩展性,
  2. 性能,
  3. 保养,
  4. 易用性/学习曲线
  5. 成本,

按照重要的顺序,但不介意一般的答案,因为我很欣赏我可能要求太多:)

谢谢

编辑:我正在寻找一个将作为单一权威数据存储的数据库,我需要存储的文件的所有属性,以便出于各种商业原因进行索引.因此我知道其他解决方案不会做我想要的.

azure amazon-simpledb elasticsearch azure-cosmosdb

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