=encoding utf8

=head1 NAME

OpenResty::Spec::RunTestsOnWin32_cn - Running the OpenResty test suite on Win32

=head1 DESCRIPTION

本文档介绍了如何在 Win32 上建立一个 OpenResty 测试集的运行环境，测试本地的或者远方的 OpenResty 服务器。

=head1 安装perl

从下面的位置下载 C<AgentPerl> 安装程序（推荐使用 C<FlashGet> 这样的多线程下载器）：

L<http://agentzh.org/misc/win32/AgentPerl.exe>

下载完毕后，双击即开始安装过程。应注意安装过程中不要轻易修改默认的设置，除非您知道自己在做什么 ;)

使用 ActiveState 的 C<ActivePerl> 亦可，只不过需要手动安装一些 CPAN 模块，比如 
L<Class::Prototyped>, L<Test::LongString>, L<Text::Diff>, L<LWP::UserAgent>, L<HTTP::Response>, L<Cache::Cache>, 以及 L<WWW::OpenResty>.

=head1 Checkout OpenResty 源码

=over

=item 1.

首先安装 C<TortoiseSVN>. C<TortoiseSVN> 安装程序可以从 TortoiseSVN 官方网站取得。

=item 2.

取得 OpenResty 的 SVN head

在 TortoiseSVN 中 checkout 下面的地址：

L<http://svn.openfoundry.org/openapi/trunk>

比如 checkout 到的地址目录是 F<C:\openresty>.

=back

=head1 编辑配置文件

=over

=item 1.

将 F<C:\openresty\etc\openresty.conf> 复制成同一目录下的 F<site_openresty.conf> 文件.

=item 2.

编辑 F<site_openresty.conf> 文件中的 C<[test_suite]> 下的配置项，将 C<use_http> 置为 1 （默认为 0)，将 C<server> 和 C<server2> 选项更改为您自己的测试帐户，密码，以及主机名，一个例子是：

  server=tester:password@api.openresty.org
  server2=tester2:password2@api.openresty.org

运行 OpenResty 测试集需要两个 OpenResty 测试帐户。因为有一些测试是针对跨帐户操作的。

=back

=head1 运行测试集

=over

=item 1.

首先在 [开始] -> [运行] 对话框输入 cmd 启动 Win32 的命令行终端.

=item 2.

然后用下面的命令把当前工作目录切换到您先前 checkout 出来的本地目录，比如 F<C:\openresty>:

     cd /d C:\openresty

=item 3.

运行整个测试集的方法是

     C:\openresty> prove -Ilib -r t

=back

=head1 运行测试的其他方式

=over

=item *

有选择地运行单个测试脚本的方法是：

     prove -Ilib t/01-sanity.t

=item *

运行任意一组测试亦是可能的，例如：

    prove -Ilib t/01-sanity.t t/02-chunwen.t

或者使用通配符：

    prove -Ilib t/0*.t

=item *

如果想运行某个测试文件中的单个用例，可以在该用例最后添加一行

  --- ONLY

=item *

如果想运行到某个测试用例就结束（即跳过后面的所有用例），可以在那个用例的末尾添加一行

  --- LAST

=item *

对于调试测试本身时添加的 C<--- ONLY>, C<--- LAST> 等标签应当在调试结束后去除，不应提交到 SVN 仓库中去。

=item *

如果想暂时跳过某个测试用例，可以使用 C<--- SKIP> 标签。

=back

=head1 提交新的测试用例

原则上不应随便修改现有的测试用例，推荐新添加的测试可以放到专门的 F<.t> 文件中（按序号和功用正确命名）。

=head1 AUTHOR

Agent Zhang (章亦春) C<< <agentzh@yahoo.cn> >>

=head1 LICENSE

  Copyright (c)  2007  Yahoo! China (中国雅虎公司).
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.2
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  Texts. A copy of the license can be found at

    http://www.gnu.org/licenses/fdl.html

=head1 SEE ALSO

L<OpenResty::Spec::TestSuite>, L<OpenResty>.

