小编Lon*_*don的帖子

在java中设置方法的运行时间限制

我有一个返回String的方法,是否有可能在某个时间阈值之后,该方法返回一些特定的字符串?

java

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

如何开始测试(jMock)

我正在努力学习如何编写测试.我也在学习Java,有人告诉我应该学习/使用/练习jMock,我在网上发现了一些有助于某些扩展的文章:

http://www.theserverside.com/news/1365050/Using-JMock-in-Test-Driven-Development

http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock

我发现的大多数文章都是关于测试驱动的开发,首先编写测试然后编写代码以使测试通过.我现在不是在寻找,我正在尝试使用jMock为现有代码编写测试.

官方文档是模糊,我不说,只是太辛苦了.有没有人有更好的方法来学习这个.好书/链接/教程对我很有帮助.谢谢

编辑 - 更具体的问题:

http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock - 来自这篇文章

试过这个来模拟这个简单的类:

import java.util.Map;
    public class Cache {
        private Map<Integer, String> underlyingStorage;
        public Cache(Map<Integer, String> underlyingStorage) {
            this.underlyingStorage = underlyingStorage;
        }
        public String get(int key) {
            return underlyingStorage.get(key);
        }
        public void add(int key, String value) {
            underlyingStorage.put(key, value);
        }
        public void remove(int key) {
            underlyingStorage.remove(key);
        }
        public int size() {
            return underlyingStorage.size();
        }
        public void clear() {
            underlyingStorage.clear();
        }
    }
Run Code Online (Sandbox Code Playgroud)

以下是我尝试创建测试/模拟的方法:

public class CacheTest extends TestCase {

    private …
Run Code Online (Sandbox Code Playgroud)

java testing unit-testing mocking jmock

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

编写测试需要帮助

我正在尝试为这个类编写一个名为Receiver的测试:

public void get(People person) {
            if(null != person) {
               LOG.info("Person with ID " + person.getId() + " received");
               processor.process(person);
             }else{
              LOG.info("Person not received abort!");   
              }
        }
Run Code Online (Sandbox Code Playgroud)

这是测试:

@Test
    public void testReceivePerson(){
        context.checking(new Expectations() {{          
            receiver.get(person);
            atLeast(1).of(person).getId();
            will(returnValue(String.class));        
        }});
    }
Run Code Online (Sandbox Code Playgroud)

注意:receiver是Receiver类的实例(真的不是mock),processor是处理person(People类的模拟对象)的Processor类(真实不是mock)的实例.GetId是一个String not int方法,不是错误的.

测试失败:person.getId()的意外调用

我正在使用jMock任何帮助将不胜感激.据我所知,当我称这种get方法正确执行时,我需要嘲笑person.getId(),而且我已经在圈子里徘徊了一段时间,现在任何帮助都会受到赞赏.

java testing junit unit-testing jmock

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

jQuery timeago用法

<abbr>我的HTML中有一个带有"timeago"类的标签.当我在页面加载时设置它的值,然后调用jQuery("abbr.timeago").timeago();文档就绪功能它的工作原理.

我的问题是,如果我从某些javascript函数动态更改abbr.timeago标题怎么办,如何让timeago插件在更新的abrr.timeago元素上做出魔力呢?

我应该打电话给哪个功能?我应该jQuery("abbr.timeago").timeago();从文件准备功能中删除还是离开?谢谢

编辑问题:

@squiddy示例工作,只更新一次时间,它只是保持不变.例如,如果我将timeago放到当前时间......那么它只是表示它不会改变?

BOUNTY UPDATE:

请忽略以前的问题.在我的网站上有一个链接,点击它的getJSON函数被调用,它从服务器获取一些信息到表中.

每行代表来自服务器的反馈.这是我的getJSON伪代码:

            $.getJSON("feedback/" + feedbackId, function(data) {
            var column ... declared variable in which column selector
        .... some logic that populates table(irrelevant)
            //Store last checked time in title
        column.attr("title", iso8601(new Date()));
            //invoke timeago on this title
        column.html(jQuery.timeago(iso8601(new Date())));
            ....iso8601 is date format function
    });
Run Code Online (Sandbox Code Playgroud)

因此,我从服务器获得的每个反馈都会调用此getJSON(n次).当json完成时,表中的相应列将填充上次更新的时间.

但似乎timeago没有读取更改的标题值,它无法识别更新的DOM.我为服务器的每个反馈设置了一个console.log(element.attr("title")),用于调试目的,看看我是否将title属性设置为当前时间,确实确实如此,但是timeago获取了最初加载的标题值.

我该怎么办我也试过这个版本:

$.getJSON("feedback/" + feedbackId, function(data) {
                var column ... declared variable in which column selector
            .... some logic that populates table(irrelevant) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery timeago

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

使用变量时,sed替换不起作用

尝试用sed替换字符串时发生了一些奇怪的事情.这有效:

find /home/loni/config -type f -exec sed -i 's/some_pattern/replacement/g' {} \;
Run Code Online (Sandbox Code Playgroud)

所以当我手动输入字符串时它可以工作.但在下面的情况下,不会发生更换:

find /home/loni/config -type f -exec sed -i 's/${PATTERN}/${REPLACEMENT}/g' {} \;
Run Code Online (Sandbox Code Playgroud)

当我回显这两个变量PATTERN和REPLACEMENT时,它们具有正确的值.

我正在尝试用我的config目录中的所有文件中的替换字符串替换所有模式字符串的出现.

linux bash shell sed

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

jqgrid复选框更改事件

我的数据库中有true/false值.我想用jqgrid中的复选框更新它们.一旦该值设置为true,它将保持为真且不应更改.请看一下我的专栏模型:

{
    name : 'available',
    width : 12,
    resizable: true,
    editable: true,
    align: 'center',
    edittype:'checkbox',
    formatter: "checkbox", formatoptions: {disabled : false},
    classes:'check',
    editrules:{required:false}, editoptions:{size:39,value:"True:False"}
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试在选中复选框时捕获事件,目前它们都未经检查,到目前为止我已经尝试过:

jq(".check input").each(function(){
    jq(this).click(function(){
        aler("works");
    });
});

jq("input[type='checkbox']").change(function(){
    alert("works");
}); 

jq(":checkbox").parent().click(function(evt) {
    if (evt.target.type !== 'checkbox') {
        var $checkbox = jq(":checkbox", this);
        $checkbox.attr('checked', !$checkbox.attr('checked'));
        $checkbox.change();
        alert("");
    }
});
Run Code Online (Sandbox Code Playgroud)

这些都不起作用,我被卡住了不知道还有什么可以尝试.

使用firebug检查复选框代码时,它看起来像这样:

<input type="checkbox" offval="no" value="false">
Run Code Online (Sandbox Code Playgroud)

javascript jquery jqgrid

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

iOS:访问设备硬件音量控制

我已经在我的应用程序中实现了这个流媒体(https://github.com/DigitalDJ/AudioStreamer),它运行得很棒,但它没有实现音量控制,任何人都有提示如何开始使用音量幻灯片等等?

我正在寻找一些类似的问题:

没有发现任何这些有用的回答我的问题,如何改变音量(上/下),当然钩到某种控制即滑块,任何帮助表示赞赏

cocoa-touch objective-c ios ios5

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

建议使用哪种语言

我正在尝试创建一个可以从系统获取输入的Web应用程序.

这个应用程序应该做的是听一些shell脚本执行时会发生什么,并通过web报告状态.

一个例子 :

  • 我正在使用shell脚本复制数千条记录,虽然这仍在执行,但我希望将脚本的当前状态传递给Web界面.从shell脚本方面我可以回应一些类似"正在复制文件,请等待芬兰语"的内容.

使用shell方面的哪种编程语言是将其传递给Web界面的最简单方法?我打算将JSP/JAVA用于web.

这是否是思考这个问题的正确方法?欢迎提出任何建议

编辑

http://nodejs.org/这样的东西会对此有用吗?

python java shell perl system

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

我可以使用什么数据结构来计算国家/地区代码的出现次数?

我需要一些最不合适的数据结构.

以下是我正在使用的内容:我有一堆数据处理行,每行都有自己的国家/地区代码.

我希望得到每个国家/地区代码在整个过程中重复多少次.

java data-structures

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

如何使我的图像可点击

显然我很想念UIImageView和UIImage,为了在图像上注册手势(如点击/点击),我需要在uiimageview中有图像并在uiimageview上注册手势而不是在uiimage上.

所以这段代码对我有用:

- (void)drawRect:(CGRect)rect {    
    Obj *obj = ... obj has imageHref which is NSString

    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:obj.imageHref]]; 
    [image drawInRect:CGRectMake((self.frame.size.width/2) - (image.size.with/2), (self.frame.size.height / 2) - (image.size.height / 2), image.size.width, image.size.height)];

}
Run Code Online (Sandbox Code Playgroud)

这给了我居中的图像,但没用,因为我希望它可以点击,所以我只是用UIImageview来做这样的:

  - (void)drawRect:(CGRect)rect {    
            Obj *obj = ... obj has imageHref which is NSString

            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:obj.imageHref]]; 

    CGRect rect1=CGRectMake((self.frame.size.width/2) - (image.size.width/2), (self.frame.size.height / 2) - (image.size.height / 2), image.size.width, image.size.height);

    UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:radioStationImage];

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self …
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios5

6
推荐指数
2
解决办法
8896
查看次数