我目前正在研究开发分布式应用程序的可用选项(包括开源和商业).
"分布式系统由多台通过计算机网络进行通信的自主计算机组成." 维基百科
该应用程序专注于分发高CPU密集型操作(而不是数据密集型),因此我确信MapReduce解决方案不符合要求.
您可以推荐的任何框架(+给出任何经验的简要概述或与其他框架的比较)将不胜感激.
.net distributed frameworks distributed-computing grid-computing
我正在尝试通过被测系统(SUT)对依赖性调用方法进行单元测试/验证.
单元测试(Moq):
[Test]
public void StartBar_ShouldCallStartOnAllFoo_WhenFoosExist()
{
//ARRANGE
//Create a foo, and setup expectation
var mockFoo0 = new Mock<IFoo>();
mockFoo0.Setup(foo => foo.Start());
var mockFoo1 = new Mock<IFoo>();
mockFoo1.Setup(foo => foo.Start());
//Add mockobjects to a collection
var foos = new List<IFoo>
{
mockFoo0.Object,
mockFoo1.Object
};
IBar sutBar = new Bar(foos);
//ACT
sutBar.Start(); //Should call mockFoo.Start()
//ASSERT
mockFoo0.VerifyAll();
mockFoo1.VerifyAll();
}
Run Code Online (Sandbox Code Playgroud)
IBar作为酒吧的实施:
class Bar : IBar
{
private IEnumerable<IFoo> Foos { get; set; }
public Bar(IEnumerable<IFoo> foos)
{
Foos …Run Code Online (Sandbox Code Playgroud) 是否可以模拟企业库5版的"数据库"?如果是这样......怎么样?
没有IDatabase接口(这是一个谜,因为我虽然微软P&P会更多关于暴露这种接口的可测试性优势).
我有一个使用EntLib 5数据访问应用程序块的Repository类.
我将单元测试改编成这个类,需要模拟出对Database对象的依赖.此类现在通过其构造函数传递给数据库,并使用Database对象在Db上执行操作.
我使用以下内容来解析要传递给我的存储库的数据库实例:
Container.RegisterType<IFooRepository, FooRepository>(
new InjectionConstructor(
EnterpriseLibraryContainer.Current.GetInstance<Database>("FooDbConnStr")
)
);
Run Code Online (Sandbox Code Playgroud)
我不希望这些单元测试成为集成测试.
我已经尝试使用Moq来创建数据库类型的动态模拟,但事实证明这很棘手,因为数据库需要在其构造函数中使用连接字符串和DbProviderFactory.也许如果有像MockDbProviderFactory这样的东西.
这是单元测试采用的形式:

旁白:我还发现使用静态记录器类很难测试.希望我在这里缺少一些技巧,但我必须说到目前为止我对可测试性感到失望.
我试图调用在ASP.NET应用程序中托管的WCF 4 Http Web服务.该服务受SiteMinder保护.
我想知道如何以编程方式调用Web服务,更具体地说,我需要传递哪些信息才能在SiteMinder中获得授权以访问我的资源.
我从同一台服务器上运行的ASP.NET应用程序发出请求,因此我可以访问身份验证cookie.
.net ×3
c# ×2
unit-testing ×2
.net-4.0 ×1
asp.net ×1
cookies ×1
distributed ×1
frameworks ×1
mono ×1
moq ×1
siteminder ×1
web-services ×1