小编Alb*_*Chu的帖子

如何在另一个模块中模拟子?

我在另一个模块中嘲笑子程序比在运行测试时遇到麻烦.

我在一个名为ParserTests.pl的文件中进行了测试.我试图在模块LogParser.pm中测试子程序(解析)

sub parse {
    my ($self) = @_;
    my $rr = $self->getRR;
    while(1) {
        my $result = $self->parseCommitSet();
        if ($result eq 2) {
            last;
        }
        my $printStatus = $self->printOut($result);
        if (!$printStatus) {
            say "Problem occurred with writing to output";
            return 0;
        }
        $self->setRR(ReportRecord->new());
    }
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

我试图模拟printOut,以便它总是返回true.我想要做的是这样的:

#! /usr/bin/perl
use v5.10.0;
use strict;
use warnings;
use Test::More 'no_plan';
use Test::MockObject;
use LogParser;
{other tests…}
my $mock = Test::MockObject->new();
$mock->set_true('LogParser::printOut');
my $test100FH = getTestFH($test100SetsNoPrev);
$logParser = LogParser->new($test100FH);
is($logParser->parse, 1, …
Run Code Online (Sandbox Code Playgroud)

testing perl unit-testing mocking

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

在java中使用xpath和selenium解析HTML表数据

我想获取数据并在没有标签的情况下组织它.它看起来像这样

<table class="SpecTable">
    <col width="40%" />
    <col width="60%" />
    <tr>
        <td class="LightRowHead">Optical Zoom:</td>
        <td class="LightRow">15x</td>
    </tr>
    <tr>
        <td class="DarkRowHead">Digital Zoom:</td>
        <td class="DarkRow">6x</td>
    </tr>
    <tr>
        <td class="LightRowHead">Battery Type:</td>
        <td class="LightRow">Alkaline</td>
    </tr>
    <tr>
        <td class="DarkRowHead">Resolution Megapixels:</td>
        <td class="DarkRow">14 MP</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我希望能够提取所有信息字符串,以便我可以存储在纯文本文件中:

光学变焦:15倍数码变焦:6倍电池类型:碱性分辨率百万像素:14 MP

public static void main(String[] args) {

        FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("general.useragent.override", "some UA string");
        WebDriver driver = new FirefoxDriver(profile);

        String Url = "http://www.walmart.com/ip/Generic-14-MP-X400-BK/19863348";
        driver.get(Url);
        List<WebElement> resultsDiv = driver.findElements(By.xpath("//table[contains (@class,'SpecTable')//td"));

        System.out.println(resultsDiv.size());
        for (int i=0; i<resultsDiv.size(); i++) {
            System.out.println(i+1 …
Run Code Online (Sandbox Code Playgroud)

html java selenium xpath webdriver

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

标签 统计

html ×1

java ×1

mocking ×1

perl ×1

selenium ×1

testing ×1

unit-testing ×1

webdriver ×1

xpath ×1