对单元进行单元测试时,发生以下问题:
有许多与鼠标相关的事件处理程序.我看到有两种可能性来测试这些处理程序:
我知道单元测试通常仅限于类的接口(这也意味着在类内部更改时不必更改测试),但这种情况是否值得例外?
在单元测试组件时,您通常如何处理鼠标事件?
我正在使用JSch进行sftp通信,现在我想使用方便基于密钥的身份验证,密钥由我的网络团队一次加载到客户端和服务器机器上,所有后来的通信都只是基于用户的,我们已经加载了密钥.
sftp -oPort=10022 jmark@192.18.0.246
Run Code Online (Sandbox Code Playgroud)
如 tjill@192.18.0.135
像这个命令工作正常并连接到sftp,我如何以编程方式实现此功能.
如果不可能使用JSch,请建议其他一些库.我遇到了Apache SSHD.
第一个案例:
<div>
<a href="#" onclick="doIt(this)">some job</a>
<div>
Run Code Online (Sandbox Code Playgroud)
我可以:
<script>
function doIt(caller){
alert($(caller).closest('div').html());
}
</script>
Run Code Online (Sandbox Code Playgroud)
第二种情况:
<div id="divId">
....
</div>
Run Code Online (Sandbox Code Playgroud)
我做
<script>
alert($("#divId").html());
</script>
Run Code Online (Sandbox Code Playgroud)
我怎么能用onclick(这个)将第一个案例mecanism应用到第二个案例?
关于问题的更多细节:
第一种情况,因为我使用锚onclick,我可以得到动作源然后它的父.
第二种情况,另一方面,有div块和脚本块之后.它们在页面中呈现,因此没有单击事件.我需要个东西:
$(本).closest( 'DIV').HTML()但它不起作用
我可以使用枚举作为键值对.
public enum infringementCategory
{
Infringement,
OFN
}
Run Code Online (Sandbox Code Playgroud)
如果我选择Infringement我应该得到"INF0001"如果我选择OFN我应该得到"INF0002"
可能吗?
我正在使用Ruby on Rails 3,我知道在哪种情况下使用模块是好的.
我有一个控制器,包括我以这种方式使用的许多私有方法:
class UsersController < ApplicationController
def update
params[:option1] = get_user_option1
params[:option2] = get_user_option2
if params[:option2]
params[:saving_success] = update_user
end
...
if params[:saving_success]
flash[:notice] = another_method_1
else
flash[:error] = another_method_2
end
end
private
def update_user
if params[:option1] == something
@user.save
end
end
def another_method_1
params[...] = ...
...
end
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,在私有方法中,我有ActiveRecords和params方法之类的东西.我知道在模块中你不能直接使用那些ActiveRecords或params方法,但你可以将它们作为参数传递,如下例所示:
# In the controller file
class UsersController < ApplicationController
include Users
def update
params[:option] = "true"
@users = Users.find(1) …Run Code Online (Sandbox Code Playgroud) 亲爱的,我如何匹配2个数组并使用c#将匹配的值保存到新数组中?
for (int j = 0; j < arrayA.Length; j++)
{
for (int k = 0; k < arrayB.Length; k++)
{
if (arrayA[j] == arrayB[k])
{
arrayB[k];
//How i keep this matched record into a new array?
}
}
}
Run Code Online (Sandbox Code Playgroud)
另一件事:他们是否有任何捷径匹配2阵列并将记录保存到新阵列中?任何善良的心.请帮忙.
我正在使用VB.NET,我遇到了XML序列化的问题.当我正在序列化的对象中存在空值时,XML文件包含以下标记:
<tagName/>
Run Code Online (Sandbox Code Playgroud)
代替:
<tagName></tagName>
Run Code Online (Sandbox Code Playgroud)
我知道它是一样的,但我希望开始标签适当关闭.
我读过这样的方法:
public void doSomething throws MyException{
...
try {
doSomthingElse();
} catch (MyException e){
log.errer(e.getMessage());
throw new MyException(e.getMessage(),e);
}
...
}
Run Code Online (Sandbox Code Playgroud)
但我更喜欢:
public void doSomething throws MyException{
...
doSomthingElse();
...
}
Run Code Online (Sandbox Code Playgroud)
有人知道第一种方法的原因吗?只有一种类型的Exception,它没有在这个方法中处理,有没有理由去捕获它,没有新信息包装它,然后传递它?为什么不以第二种方式写它?谢谢!
我正在使用Imagick lib对原始图像进行一些修改.然后我想直接将它输出到浏览器而不保存.有没有办法做到这一点?
我尝试使用Imagick::writeImage('STDOUT')(空输出)和'php:// stdout',错误"无法写入文件".
有任何想法吗?:)
有没有办法生成ToString()使用Visual Studio 2010?
我真的不想手工做这个!
[编辑]
我正在寻找我的模型的简单字符串表示.在以前的IDE中,使用简单模板和字段选择在UI中启用了ToString生成.
目前,Equals和Hashcode的默认实现以类似的模式提供.我希望ToString有类似的东西.
它似乎不是默认 - 感谢您的回复!
(*这是我的第一个.net项目)