相关疑难解决方法(0)

VS假冒/垫片与VS2015专业?

我正在为一个项目的客户工作,现有的代码/测试正在使用MS Fakes库和Shims来隔离测试等...

我在试用版上安装了VS 2015企业版,一切都很好.通过我的MSDN订阅,我接受了VS 2015 Professional,现在测试没有运行,失败了:

Failed to resolve profiler path from COR_PROFILER_PATH and COR_PROFILER environment variables.

    at Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.IntelliTraceInstrumentationProvider.ResolveProfilerPath()
   at Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.IntelliTraceInstrumentationProvider.Initialize()
   at Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InitializeUnitTestIsolationInstrumentationProvider()
   at Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.CreateContext()
   at Microsoft.QualityTools.Testing.Fakes.ShimsContext.Create()
Run Code Online (Sandbox Code Playgroud)

看着垫片试图使用Intellitrace,VS2015没有给我.除了购买VS的企业版之外,任何人都知道这个方法吗?

shim microsoft-fakes visual-studio-2015

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

在Entity Framework中重复创建和删除数据库

在为我们的应用程序编写一些单元测试时,我偶然发现了EF6中的一些奇怪行为(使用6.1和6.1.2测试):显然,在同一应用程序上下文中重复创建和删除数据库(相同名称/相同连接字符串)是不可能的.

测试设置:

public class A
{
    public int Id { get; set; }
    public string Name { get; set; }
}

class AMap : EntityTypeConfiguration<A>
{
    public AMap()
    {
        HasKey(a => a.Id);
        Property(a => a.Name).IsRequired().IsMaxLength().HasColumnName("Name");
        Property(a => a.Id).HasColumnName("ID");
    }
}

public class SomeContext : DbContext
{
    public SomeContext(DbConnection connection, bool ownsConnection) : base(connection, ownsConnection)
    {

    }

    public DbSet<A> As { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Configurations.Add(new AMap());
    }
}

[TestFixture]
public class BasicTest
{
    private …
Run Code Online (Sandbox Code Playgroud)

.net c# database sql-server entity-framework-6

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

如何模拟LINQ to Entities助手,例如'SqlFunctions.StringConvert()'

我正在使用EF 4并尝试使用Moq对以下行进行单元测试:

var convertError = models
             .Where(x => SqlFunctions.StringConvert((decimal?) (x.convert ?? 0)) == "0")
             .Any();
Run Code Online (Sandbox Code Playgroud)

SqlFunctions.StringConvert()如果它检测到上下文被模拟,它似乎会抛出.

它给出了一个错误说:

只能从LINQ到实体调用此函数

是否有可能告诉SqlFunctions.StringConvert返回一个模拟对象,以便我可以摆脱这个错误?

c# unit-testing moq mocking entity-framework-4

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