内容

名称

TAP::Parser::Result - TAP::Parser 输出对象的基类

版本

版本 3.44

概要

# abstract class - not meant to be used directly
# see TAP::Parser::ResultFactory for preferred usage

# directly:
use TAP::Parser::Result;
my $token  = {...};
my $result = TAP::Parser::Result->new( $token );

说明

这是一个简单的基类,由 TAP::Parser 用于存储表示来自 TAP(通常为单行)的当前测试输出数据片段的对象。除非进行子类化,否则可能不需要直接使用此模块。

方法

new

# see TAP::Parser::ResultFactory for preferred usage

# to use directly:
my $result = TAP::Parser::Result->new($token);

返回一个实例,该实例是传递的测试令牌的适当类。

布尔方法

以下所有方法都返回布尔值,并且将在适当的子类中重写。

raw

print $result->raw;

返回已解析的原始文本行。

type

my $type = $result->type;

返回令牌的“类型”,例如 commenttest

as_string

print $result->as_string;

打印令牌的字符串表示形式。然而,这可能不是确切的输出。如果不存在,测试将添加测试编号,TODO 和 SKIP 指令将大写,并且通常会进行清理。如果您需要令牌的原始文本,请参阅 raw 方法。

is_ok

if ( $result->is_ok ) { ... }

报告给定结果是否通过。任何不是测试结果的内容都返回 true。这仅仅作为一种便捷的快捷方式提供。

passed

已弃用。请改用 is_ok

has_directive

if ( $result->has_directive ) {
   ...
}

指示给定结果是否有 TODO 或 SKIP 指令。

has_todo

if ( $result->has_todo ) {
    ...
}

指示给定结果是否有 TODO 指令。

has_skip

if ( $result->has_skip ) {
    ...
}

指示给定结果是否有 SKIP 指令。

set_directive

设置与此令牌关联的指令。在内部用于伪造 TODO 测试。

SUBCLASSING

有关子类化的概述,请参阅 TAP::Parser 中的“SUBCLASSING”

请记住:如果您希望解析器自动使用您的子类,则必须使用 TAP::Parser::ResultFactory 中的“register_type” 进行注册。

如果您要创建一个全新的结果类型,您可能还需要对 TAP::Parser::Grammar 进行子类化,否则它将永远不会被使用。

示例

package MyResult;

use strict;

use base 'TAP::Parser::Result';

# register with the factory:
TAP::Parser::ResultFactory->register_type( 'my_type' => __PACKAGE__ );

sub as_string { 'My results all look the same' }

另请参阅

TAP::ObjectTAP::ParserTAP::Parser::ResultFactoryTAP::Parser::Result::BailoutTAP::Parser::Result::CommentTAP::Parser::Result::PlanTAP::Parser::Result::PragmaTAP::Parser::Result::TestTAP::Parser::Result::UnknownTAP::Parser::Result::VersionTAP::Parser::Result::YAML