小编Vir*_*oid的帖子

在单位和功能测试中使用rake的种子值

在使用rake运行单元和功能测试时,在rails应用程序中,我注意到在命令行上指定了种子值: - seed x

$ rake test
(in /code/blah)
Loaded suite /../ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
.
Finished in 0.12345 seconds.

1 tests, 1 assertions, 0 failures, 0 errors, 0 skips

Test run options: --seed 20290
Run Code Online (Sandbox Code Playgroud)

我假设可以在测试中使用此值,但我无法弄清楚如何.我试过Google,Rails Guides等.但似乎无法找到答案.

编辑:

这个种子值是否可以被Minitest用来随机化测试的执行顺序?

rake ruby-on-rails rake-test

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

对约束泛型类型参数的继承

我知道不可能从泛型类型参数继承,但是在为抽象类型的衍生物实现公共代理时它会很方便:-)

有谁知道为什么这是不可能的?

示例C#:

abstract class Foo
{
  public virtual void Bar()
  {
     // nop
  }
}

class FooProxy<TFoo> : TFoo
  where TFoo : Foo
{

  public override void Bar()
  {
    // do some stuff before
    base.Bar();
    // do some stuff after
  }

}
Run Code Online (Sandbox Code Playgroud)

编辑:一些代码来说明如何使用它的示例.考虑以下Foo的衍生物:

class FooX : Foo
{
  public string X { get; set; }
  public override void Bar()
  {
    Console.WriteLine("Doing Bar X");
  }
}

class FooY : Foo
{
  public string Y { get; set; }
  public override …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

SQLCMD,命令行变量和脚本:setvar

运行SQLCMD.exe并为脚本变量提供命令行参数时,我希望命令行上提供的值将覆盖SQL脚本文件中定义的值.

例如

给出以下SQL脚本:

:setvar XXX "SQL script"
print '$(XXX)'
Run Code Online (Sandbox Code Playgroud)

和命令行:

sqlcmd.exe -S <Server> -d <Database> -E -b -i <Script> -v XXX="Batch script"
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

批处理脚本

但输出是:

SQL脚本

这是意图,还是必须:setvar删除SQL脚本中的语句?

:setvar在脚本中提供了语句,因此我可以使用SQLCMD模式在SQL Management Studio中编辑/测试脚本,但是在我的测试和生产环境中从命令行运行脚本.

sql-server sql-server-2005 sqlcmd

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

NHibernate"数据库"模式混淆[.\ hibernate-mapping\@schema]

我正在使用NHibernate主要针对MSSQL数据库,我在那里使用MSSQL模式用于各种表.

在我的NH映射(HBM)文件中,我已为映射中的每个表指定了模式,如下所示:

<?xml version="1.0"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   auto-import="true"
                   schema="xyz">                 <!-- schema specified -->
  <class name="Customer">
    <id name="Id">
      <generator class="native" />
    </id>
    <property name="Name" />
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

对于我的单元测试,我一直在尝试SQLite,但是我的映射现在失败了,因为NH报告无法找到数据库"xyz".

我理解模式的解释存在差异,那么NH的解释/实现是什么,使用模式时最好的方法是什么?

顺便说一句:使用像"nhibernate数据库模式"这样的关键字搜索网络并没有产生任何相关的东西.

mapping nhibernate schema nhibernate-mapping

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