测试GWT代码的最佳方法是什么?
托管模式下的GWTTestCase太慢,没有任何模拟框架可以工作.
目前我们按照http://robvanmaris.jteam.nl/2008/03/09/test-driven-development-for-gwt-ui-code/中的建议关注MVC,并使用GWTMockUtilities disarm()和restore()来模拟小部件.我们还没有想出一种在GWT MVC中测试View的方法.有没有更好的方法来测试GWT代码?
我正在使用http://tangentsoft.net/wskfaq/examples/basics/select-server.html上的这个示例实现
这正在做我需要的大部分工作,处理连接而不会阻塞,并且所有工作都在其线程中(不像某些示例那样为每个连接创建新线程),但我担心因为我被告知winsock只会支持最多64个客户端连接:S
这64个连接是真的吗?
我还有其他选择吗?为类似的实现提供一个c ++示例会很酷.
谢谢
有谁知道为什么这是一个糟糕的要求?
http://chart.apis.google.com/chart?cht=lxy&
chd=t:0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100&
chco=3072F3,ff0000,00aaaa,541269&chs=1000x200&chxt=x,y&
chxl=0:|18|18|18|18|18|19|19|19|19|19|19|20|20|20|20|20|20|21|21|21|21|21|21|22|22|22|22|22|22|23|23|23|23|23|23|0|0|0|0|0|0|1|1|1|1|1|1|2|2|2|2|2|2|3|3|3|3|3|3|4|4|4|4|4|4|5|5|5|5|5|5|6|6|6|6|6|6|7|7|7|7|7|7|8|8|8|8|8|8|9|9|9|9|9|9|10|10|10|10|10|10|11|11|11|11|11|11|12|12|12|12|12|12|13|13|13|13|13|13|14|14|14|14|14|14|15|15|15|15|15|15|16|16|16|16|16|16|17|17|1:||3.5|7|10.5|14
Run Code Online (Sandbox Code Playgroud)
试图在图表上绘制四条线
谢谢
我用一个文本框和一个richtextbox创建了一个C#usercontrol.
如何从usercontrol外部访问richtextbox的属性.
例如..如果我把它放在一个表单中,我怎么能使用richtextbox的文本属性???
谢谢
你做了以下哪一项:
var = true;
if (...) var = false;
Run Code Online (Sandbox Code Playgroud)
要么
if (...) var = false;
else var = true;
Run Code Online (Sandbox Code Playgroud)
你选择的还是其他原因?
我正在努力的前提是var没有发生任何其他事情.下一行代码可能是这样的:
if (var) { ... }
Run Code Online (Sandbox Code Playgroud) 我在SO上发现了关于JavaMail API和通过SMTP服务器发送邮件的其他几个问题,但没有人讨论过使用TLS安全性.我正在尝试使用JavaMail通过我的工作SMTP邮件服务器向我自己发送状态更新,但它需要TLS,我无法在线找到有关如何使用JavaMail访问需要TLS加密的SMTP服务器的任何示例.有人能帮忙吗?
我现在已经看到了两种确定参数是否已传递给JavaScript函数的方法.我想知道一种方法是否优于另一种方法,或者一种方法是否使用不好?
function Test(argument1, argument2) {
if (Test.arguments.length == 1) argument2 = 'blah';
alert(argument2);
}
Test('test');
Run Code Online (Sandbox Code Playgroud)
要么
function Test(argument1, argument2) {
argument2 = argument2 || 'blah';
alert(argument2);
}
Test('test');
Run Code Online (Sandbox Code Playgroud)
据我所知,它们都产生了相同的结果,但我在生产之前只使用过第一个.
汤姆提到的另一个选择:
function Test(argument1, argument2) {
if(argument2 === null) {
argument2 = 'blah';
}
alert(argument2);
}
Run Code Online (Sandbox Code Playgroud)
根据胡安的评论,将汤姆的建议改为:
function Test(argument1, argument2) {
if(argument2 === undefined) {
argument2 = 'blah';
}
alert(argument2);
}
Run Code Online (Sandbox Code Playgroud) 嗨,我有一个DIV部分,最初只能看到它的标题.我想实现的是,当访问者在任何地方点击的区域toggle_section的toggle_stuffDIV可见/隐藏之间切换.
<div id="toggle_section"
onclick="javascript: new Effect.toggle('toggle_stuff', 'slide');">
<div id="toggle_title">Some title</div>
<div id="toggle_stuff">
some content stuff
<a href="/foo.php">Some link</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,它现在的设置方式,如果我在其中有任何<a>链接toggle_section,单击该链接也将执行onclick事件.
那么我的问题是设置这种行为的最佳方法是什么?
c# ×2
javascript ×2
arguments ×1
c++ ×1
collections ×1
css ×1
delphi ×1
gwt ×1
jakarta-mail ×1
java ×1
optimization ×1
properties ×1
prototypejs ×1
richtextbox ×1
smtp ×1
ssl ×1
winsock ×1