当要依赖的测试与具有此注释的测试的类相同时,注释的dependsOnMethods属性@Test可以正常工作.但是,如果待测试方法和依赖方法属于不同的类,则它不起作用.示例如下:
class c1 {
@Test
public void verifyConfig() {
//verify some test config parameters
}
}
class c2 {
@Test(dependsOnMethods={"c1.verifyConfig"})
public void dotest() {
//Actual test
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个限制?一个简单的方法是在class c2该调用中创建一个测试c1.verifyConfig().但这将是太多的重复.
Mongolab的REST API很酷.我可以使用Mongolab支持页面上提供的以下javascript直接在我的网站中使用它进行分析.只有我能理解认证的实际运作方式.URL中提到的API密钥可以被任何查看html源的人轻松复制.Mongolab控制面板不为我的网站提供任何注册,以确保api密钥仅在来自我的域时才会被验证.这种认证如何工作?
$.ajax( { url: "https://api.mongolab.com/api/1/databases/my-db/collections/my-coll?apiKey=myAPIKey",
data: JSON.stringify( { "x" : 1 } ),
type: "POST",
contentType: "application/json" } );
Run Code Online (Sandbox Code Playgroud) 我需要将HTML转换为纯文本.我对格式化的唯一要求是在纯文本中保留新行.新行不仅应显示在<br>其他标签的情况下,例如<tr/>,也应显示</p>新行.
用于测试的示例HTML页面是:
请注意,这些只是随机网址.
我已经尝试了在这个StackOverflow问题的答案中提到的各种库(JSoup,Javax.swing,Apache utils)来将HTML转换为纯文本.
使用JSoup的示例:
public class JSoupTest {
@Test
public void SimpleParse() {
try {
Document doc = Jsoup.connect("http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter09/scannerConsole.html").get();
System.out.print(doc.text());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
HTMLEditorKit示例:
import javax.swing.text.html.*;
import javax.swing.text.html.parser.*;
public class Html2Text extends HTMLEditorKit.ParserCallback {
StringBuffer s;
public Html2Text() {}
public void parse(Reader in) throws IOException {
s = new StringBuffer();
ParserDelegator delegator = new ParserDelegator();
// the …Run Code Online (Sandbox Code Playgroud) 我在IDE中看不到任何RadRails视图.例如Rake任务,rails控制台,生成器视图等.请参阅屏幕截图以获取可用的视图选项.我对Aptana网站和其他论坛上的解释感到困惑.我无法在任何地方找到名为"My Aptana"的菜单选项或插件.此外,首选项窗口没有预期的"Ruby"选项.查看截图.我在Mac上安装了Aptana Studio(Aptana Studio 3,版本:3.0.1.201104291443)(http://www.aptana.com/products/studio3/download).

当div的位置样式从相对变为固定时,div"topNav"的宽度会改变几个像素.我找到了一个jquery插件(http://imakewebthings.github.com/jquery-waypoints/),它可以执行我正在寻找的相同功能,但我觉得这对于此目的来说太过分了.
编辑:我的问题是如何避免更改div大小.
查看代码:
有没有办法通过Mongoid使用MongoDB(v 2.4)的全文搜索功能?我尝试了谷歌组链接的答案,但一直收到以下错误.
在一个选项卡中,我启动了mongod:~$ mongod --setParameter textSearchEnabled=true
导致错误的行:
Article.mongo_session.command({:text => {:search => 'Ruby'}})
如果有人能指出runCommand在Ruby中执行MongoDB的方法会很棒,这样我就可以直接运行命令了db.collection.runCommand( "text", { search: <string> })
failed with error 13111: "exception: wrong type for field (text) 3 != 2"
See https://github.com/mongodb/mongo/blob/master/docs/errors.md
for details about this error.
Run Code Online (Sandbox Code Playgroud) 我不确定嵌入式类的控制器应该怎么做.传递的参数确实显示了所有嵌入的类属性,包括图像属性,但只有非图像参数才会保存在数据库中.这告诉我问题不在于ORM的选择(在这种情况下是Mongoid),而是与我使用载波的方式有关:
Parameters: {"article"=>{"name"=>"New article", "comments_attributes"=>{"0"=>{"remote_image_url"=>"", "name"=>"Comment 1", "content"=>"comment content....", "image"=>#<ActionDispatch::Http::UploadedFile:0x10339d880 @headers="Content-Disposition: form-data; name=\"article[comments_attributes][0][image]\"; filename=\"dh.png\"\r\nContent-Type: image/png\r\n", @original_filename="dh.png", @tempfile=#<File:/var/folders/A1/A1SUPUTUFA8BYB5j+RD2L++++TI/-Tmp-/RackMultipart20120228-21178-1vckii1-0>, @content_type="image/png">}}, "content"=>"article content"}, "commit"=>"Create Article", "authenticity_token"=>"i14YuJs4EVKr5PSEw9IwKXcTbQfOP4mjbR95C75J2mc=", "utf8"=>"\342\234\223"}
MONGODB (89ms) freedb['system.namespaces'].find({})
MONGODB (0ms) freedb['articles'].insert([{"name"=>"New article", "comments"=>[{"name"=>"Comment 1", "_id"=>BSON::ObjectId('4f4daf6a58001652ba000012'), "content"=>"comment content...."}], "_id"=>BSON::ObjectId('4f4daf6958001652ba000011'), "content"=>"article content"}])
Run Code Online (Sandbox Code Playgroud)
父模型:
class Article
include Mongoid::Document
field :name, :type => String
field :content, :type => String
embeds_many :comments
accepts_nested_attributes_for :comments
end
Run Code Online (Sandbox Code Playgroud)
儿童模特:
require 'carrierwave/mongoid'
class Comment
include Mongoid::Document
field :name, :type => String
field :content, :type => String
field :image, :required => …Run Code Online (Sandbox Code Playgroud) Foo mockFoo1 = mock(Foo.class);
Foo mockFoo2 = mock(Foo.class);
when(((Foo) any()).someMethod()).thenReturn("Hello");
Run Code Online (Sandbox Code Playgroud)
在上面的示例代码中,第3行失败并出现NullPointerException.为什么这样?
我的想法是:
EITHER .. any()应该用于匹配参数,而不是匹配触发方法的对象.
OR .. any()仅适用于真实的具体对象,而不适用于mock对象.
我计划使用 Ruby on Rails 在 dreamhost 上创建一个网站。在阅读 dreamhost 上的 wiki 时,我意识到我必须使用 svn 和 capistrano 将本地文件传输到服务器。Dreamhost 使用 Passenger 来部署我的应用程序。
谁能解释一下其中涉及的工作流程?
更多详细信息:根据 svn 上的 dreamhost wiki 页面上的详细信息,我在http://svn.mywebsite.com/project上为 svn 存储库创建了一个子域。我可以将本地更改提交到此位置。但我不确定这个目录中的文件如何移动到主网站..即http://www.mywebsite.com 是由Capistrano还是Passenger完成的?
虽然我已经将FooFactory类声明为"Singleton",但它的类变量@@ foo每次都会被实例化.为什么会这样?
主要的单身人士类:
require 'singleton'
class FooFactory
include Singleton
@@foo = nil
def get_foo
print @@foo.nil?.to_s
@@foo ||= "I am a string"
return @@foo
end
end
Run Code Online (Sandbox Code Playgroud)
控制器代码:
class PagesController < ApplicationController
def home
@foo = FooFactory.instance.get_foo
end
end
Run Code Online (Sandbox Code Playgroud)
视图代码:
<%= @foo %>
Run Code Online (Sandbox Code Playgroud)
我希望在第一次实例化之后应该返回该print方法.但每次刷新视图时,控制台都会继续打印.FooFactoryfalseFooFactorytruepages/home
java ×3
mongodb ×2
mongoid ×2
ruby ×2
api ×1
aptana ×1
capistrano ×1
carrierwave ×1
css ×1
dreamhost ×1
eclipse ×1
html ×1
javascript ×1
jquery ×1
jsoup ×1
junit ×1
matcher ×1
mlab ×1
mocking ×1
mockito ×1
nested-forms ×1
oop ×1
parsing ×1
passenger ×1
plaintext ×1
radrails ×1
rest ×1
singleton ×1
tdd ×1
testing ×1
testng ×1