小编Kev*_*ert的帖子

使用命令行从JUnit类运行单个测试

我试图找到一种方法,允许我只使用命令行和java从JUnit类运行单个测试.

我可以使用以下方法从类中运行整个测试集:

java -cp .... org.junit.runner.JUnitCore org.package.classname
Run Code Online (Sandbox Code Playgroud)

我真正想做的是这样的事情:

java -cp .... org.junit.runner.JUnitCore org.package.classname.method
Run Code Online (Sandbox Code Playgroud)

要么:

java -cp .... org.junit.runner.JUnitCore org.package.classname#method
Run Code Online (Sandbox Code Playgroud)

我注意到有可能使用JUnit注释来实现这一点,但我宁愿不手动修改测试类的源代码(尝试自动化).我也看到Maven可能有办法做到这一点,但如果可能的话我想避免依赖Maven.

所以我想知道是否有办法做到这一点?


我正在寻找的要点:

  • 能够从JUnit测试类运行单个测试
  • 命令行(使用JUnit)
  • 避免修改测试源
  • 避免使用其他工具

java junit command-line unit-testing

91
推荐指数
2
解决办法
8万
查看次数

如何使用Rails Serializer返回对象的所有属性?

我有一个简单的问题.我有一个如下所示的序列化器:

class GroupSerializer < ActiveModel::Serializer
  attributes :id, :name, :about, :city 
end
Run Code Online (Sandbox Code Playgroud)

问题在于,每当我更改模型时,我都必须在此序列化程序中添加/删除属性.我只是想默认获取整个对象,因为默认的rails json响应:

render json: @group
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

ruby-on-rails active-model-serializers

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

Git 以 --format 格式获取 --source 信息

我正在尝试以非常特定的格式格式化我的 git 日志。

我最初使用git log --format="%H,%an,%ae,%ad,%p"它会产生以下输出(对于每次提交):

b05f827b41856e6f4bcfba20c32f58434ce3a5a6,Kevin Jalbert,kevin.j.jalbert@gmail.com,Fri Sep 7 14:43:16 2012 -0400,206f23d
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试获取每个提交的引用(即标签/分支)信息。我可以使用git log --source命令查看此信息,这正好显示了我想要的内容(即,位于提交 SHA 之后的 ref):

commit 84deec66f94085ee3a0e6f6204f06296d7a1a903 refs/remotes/origin/HEAD
Author: Kevin Jalbert <kevin.j.jalbert@gmail.com>
Date:   Fri Sep 21 17:02:33 2012 -0400

    commit message

commit f1e1b8d11defc48839557db5e54a5a6f7ffe6cad refs/heads/issue_5
Author: Kevin Jalbert <kevin.j.jalbert@gmail.com>
Date:   Thu Sep 13 15:34:36 2012 -0400

    commit message

commit d7acdbd957d9b477f8849fd5a37882cdd78d8e1f refs/tags/v0.3.0
Author: Kevin Jalbert <kevin.j.jalbert@gmail.com>
Date:   Wed Sep 12 16:48:46 2012 -0400

    commit message
Run Code Online (Sandbox Code Playgroud)

我想要做的是在原始--format="..."命令的末尾包含此信息,这样我的输出将如下所示:

 b05f827b41856e6f4bcfba20c32f58434ce3a5a6,Kevin Jalbert,kevin.j.jalbert@gmail.com,Fri Sep 7 14:43:16 2012 …
Run Code Online (Sandbox Code Playgroud)

git git-log

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

Ruby用单反斜杠替换双反斜杠

我似乎无法用Ruby中的单个反斜杠替换双反斜杠.我想我会用另一个反斜杠逃避反斜杠.

1.9.3-p194 :001 > line = "this\\is\\a\\test"
  => "this\\is\\a\\test"
1.9.3-p194 :002 > line.gsub("\\\\", "\\")  # Nothing
  => "this\\is\\a\\test"
Run Code Online (Sandbox Code Playgroud)

这没用,所以我决定尝试找到一个至少可以替代的比赛.

1.9.3-p194 :003 > line.gsub("\\", "_")  # This works for replacing \\
  => "this_is_a_test"
1.9.3-p194 :004 > line.gsub("\\", "\\")  # Nothing
  => "this\\is\\a\\test" 
Run Code Online (Sandbox Code Playgroud)

我仍然无法在Ruby中找到一种简单的方法.

ruby replace backslash

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

评估的Rspec {}使用最后一个变量值

我正在使用Rspec为我的程序进行一些测试.在一个规范中,我实例化了一次类,​​并使用describecontexts对它进行测试.如果似乎在上下文结束时被评估,我遇到了一些有趣的东西.例如,给定以下类及其相关规范:

class Tmp
  def initialize
    @values = {}
  end

  def modify(new_value1, new_value2)
    @values = {:a => new_value1, :b => new_value2}
  end

  def get_values
    return @values
  end
end
Run Code Online (Sandbox Code Playgroud)
describe Tmp do
  tmp = Tmp.new()

  describe "testing something" do
    context "change value" do

      # First evaluation
      tmp.modify("hi", "bye")
      it {tmp.get_values.should == {:a => "hi", :b => "bye"}}

      # Second evaluation
      tmp.modify("bye", "hi")
      it {tmp.get_values.should == {:a => "bye", :b => "hi"}}
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

使用提供的类和规范结果如下:

F. …
Run Code Online (Sandbox Code Playgroud)

ruby testing rspec

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