找不到NUnit程序集

我以前用过NUnit,但不是很长时间,也从来没有在这台机器上用过。我在程序文件下解压了2.4.8版,在尝试加载测试时不断出现此错误 无法加载文件或程序集“nunit.framework,版本=2.4.8.0,区域性=中性,PublicKeyToken=96d09a1eb7f44a77”或其依赖项之一。系统找不到指定的文件** 为了简化问题,我编译了最基本的测试文件 using NUnit.Framework; namespace test { [TestFixture] pub

与NUnit一起独立驾驶

是否可以使用NUnit使用NDepend运行CQL查询?如果能够在UnitTests库中包含独立DLL并编写如下测试,那就太好了: [Test] public void DomainAssemblyHasNoDatabaseDependencies ... 或者类似的东西 这将使它很容易与Team City集成,并且在任何静态分析测试失败时自动使构建失败。这是可能的,这要归功于与NDepend v4一起发布,尤其要感谢名称空间,它包含以编程方式运行CQLinq或CQL代码查询所需的内容,以及以

Nunit 订阅和断言的事件处理程序失败。AreEqual

我想在集成测试失败时调用一个方法(即,Assert.AreEqual失败),在NUnit框架中是否有我可以订阅的事件委托?当然,当测试失败时,必须触发事件委托 这是因为在我的测试中有很多Assert语句,我无法判断是否需要记录Assert,以及导致bug跟踪器出现问题的断言信息。最好的方法是在测试失败时调用委托方法 我很好奇,你这么做想解决什么问题?我不知道用NUnit做这件事的方法,但是有一种混乱的方法。您可以提供Func并将其作为失败消息调用。Func的主体可以为您提供所需的授权 var c

如何验证TestDriven.net是否使用NUnit 2.5.vNext?

我转到VS2010,工具,选项,TestDriven.Net,测试运行程序 我观察到NUnit 2.5版本2.5.0至2.5.65535.65535即将发布 如何配置TestDriven.Net以使用NUnit 2.5.10或任何最新和最好的版本 编辑: 我使用的是TestDriven.NET3.0RTM。不幸的是,这里没有testdrive.net-3标记 我对这个问题的理解是错误的。TestDriven.Net将NUnit 2.5.5报告为用于生成测试结果的版本。我认为它是用NUnit2.5

如何将NUnit与VS 2008集成

您好,我使用NUnit创建了一个单元测试用例。当我运行测试时,NUnit工作正常。但我需要使用Visual studio运行它。因此我参考了NUnit网站,并遵循以下步骤 1) 右键单击测试项目并单击属性|选择调试选项 2) 选中外部程序选项并选择nUnit exe文件。 3) 然后我进行测试 我得到的错误是: 无法启动,因为测试项目不包含任何测试方法。但我包含了4种在NUnit GUI中工作的测试方法 提前感谢您签出,这是一个免费的Visual Studio加载项,允许您直接从IDE使用NUn

Nunit 为什么不';在构建期间使用publishArtifacts服务消息发布的我的工件是否显示在TeamCity中?

当我的NUnit端到端测试失败时,我正在创建一个屏幕截图,并尝试使用以下服务消息(如所述)与TeamCity(均在Windows上运行的构建代理和服务器)发布该截图,我正在使用控制台编写该服务消息。WriteLine来自NUnit测试: ##teamcity[publishArtifacts 'C:\BuildAgent\work\xxxxxxxxxxxxxxxx\Path\To\My\Stuff\fail.png'] 我在构建日志中看到一行: ------- Stdout: -------

Nunit SetUpFixture正在执行多次

我有以下代码: File1.cs包含: namespace TestsNM { [SetUpFixture] public class MySetUpClass { [SetUp] public void RunBeforeAnyTests() { //.... } [TearDown] public void RunAfterAnyTests()

Nunit SonarQube单元测试成功小部件没有向下展开

我们使用Jenkins构建C#项目,运行单元测试(NUnit)和代码覆盖率(NCover)。作为输出,coverage.nccov和nunit result.xml文件 Jenkins触发SonarQube分析(SonarQube 5.0.1和最新的C#插件)。SonarQube仪表板显示单元测试覆盖率和单元测试结果,但失败测试列表不能显示为向下展开 当用户单击度量时,显示的页面非常空(没有文件列表,没有向下展开,只有度量) 声纳项目.属性: sonar.visualstudio.solut

Nunit 你能把iterable传递给像pytest这样的Nuint测试吗?

使用Pytest,您可以将iterable传递给一个测试方法,它将运行多个测试: the_data = [1,2,3,4,5,a,6,7,8] @pytest.mark.parameterize('arg', the_data) def test_data(arg): assert arg.isnumeric() 你能用Nunit(使用c#)做到这一点吗?是的,你会像下面那样使用[TestCaseSource] [TestCaseSource(nameof(TheData))] pu

NUnit TestCaseSource将值传递给工厂

我正在使用NUnit2.5.3TestCaseSource属性并创建一个工厂来生成测试。大概是这样的: [Test, TestCaseSource(typeof(TestCaseFactories), "VariableString")] public void Does_Pass_Standard_Description_Tests(string text) { Item obj = new Item(); obj.Description = text; } 我的消息来源是:

Nunit MOQ 4.0:用于';Moq.Mock`1';抛出异常

我得到了一个例外 “Moq.Mock`1”的类型初始值设定项 抛出了一个异常 使用MOQ4.0我已经在几个论坛上查看过,他们提到使用MOQNoCastle版本。我在Moq文件夹中尝试了此版本和版本。两者的结果相同 我有两个项目的解决方案,一个用于接口,一个用于测试。我的主项目有2个文件: IMyInterface.cs: using System; namespace Prototype { public interface IMyInterface { int

Nunit AutoFixture AutoMoqData随着添加更多测试而变慢

使用nunit 2.6.4和AutoMoqData,在执行单个测试之前,Resharper runner似乎正在评估要传递到所有测试中的所有参数,即使我只想运行单个测试/小测试套件。现在(我们有1000个测试)运行单个测试需要2-3分钟,这对TDD不起作用 我试着切换到Xunit,看看这是否是问题所在,在运行第一个测试之前仍然有很大的延迟 这种行为是意料之中的吗?还是我们做错了什么?所以我调查的结果是,当nunit发现测试时,它会运行属性并创建对象,nunit(2)会发现所有测试,即使您只对运行

TeamCity 7上AutoFixture和Moq与NUnit的程序集版本冲突

以前,我的解决方案的所有单元测试都包含在一个库中,最近被分离出来。当位于单个程序集中时,所有测试都在本地和TeamCity上通过,但分离时存在版本冲突 配置: 城市队7.1.5(建造24400) 自动夹具3.20.2 AutoFixture.AutoMoq 3.20.2 最低起订量4.2.1402.2112 NUnit 2.6.3 我有几个单元测试程序集,它们都引用一个基本测试库。所有测试程序集都使用上面列出的NuGet包 在开发人员机器上运行测试(VS 2015)时,所有测试都成功通过 运

NUnit windows测试工具是否已从NUnit 3.0.1中删除

在过去,我们使用Nunit窗口测试工具 现在我面临Nunit测试适配器的一些问题&它没有在VisualStudio中显示测试 现在我只能找到NUnit控制台,没有窗口工具。是否有任何工具可用于从visual studio中打开NUnit测试项目以执行和获得结果 我已在我的计算机上安装了Nunit 3.0.1(最新版本)。要在Visual Studio中运行Nunit 3.0测试,您需要使用NUnit3测试适配器 要在Visual Studio中运行NUnit 3.0测试,您需要使用NUnit3

Nunit 使用模拟验证的单元测试

我有一个单元测试 创建一个模拟 调用我要测试的方法(也注入我的mock) 断言方法结果 验证模拟调用 当模拟调用未按预期进行验证时,我会得到一个异常,从而导致测试失败。 我应该如何正确地称之为验证?我应该打电话吗 // verify property get accessor call m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()); //验证属性get访问器调用 m、 VerifyGet(p=>p.IsRead,T

是否存在类似于NUnits的MSTest集合约束

我正在从事一个利用MSTest的项目,我需要类似的约束条件来测试NUnit提供的数组/列表() MSTest框架是否有类似的内置或附加功能?这是否有帮助 这就是问题所涉及的具体类别 这些断言与NUnit测试中提供的断言非常相似 问候 鲍勃。链接好像坏了,我很害怕哇,谢谢。它的命名方式使它很难被发现。

无法使用Nant运行nunit测试

我正在尝试使用nant启动nunit ui测试,并获得错误: 构建文件:file:///c:/UItests/nant.build 目标框架: 指定的Microsoft.NET Framework 4.0目标:生成 建造: [nunit2]2012/06/20/13:29:52:设置方法中的异常: CurrentThread需要将其ApartmentState设置为Apar STATE.STA能够自动运行Internet Explorer。[附件二] 2012/06/20/13:29:52:设置

Nunit RhinoMock.BackToRecord不';似乎不适用于例外情况

我已成功使用以下方法重置测试之间的期望值: MyMock.BackToRecord(BackToRecordOptions.Expectations); MyMock.Replay(); 但是,在第二个测试试图对模拟方法抛出异常的情况下,这似乎不起作用: [SetUp] public void Setup() { //reset expectations for each test MockRestQuestionClient.BackToRecord(

带有Assert.That和NunitLite的NullReferenceException

我正在使用NunitLite进行Xamarin项目的单元测试 环境: Windows 8.1 64位 Visual Studio 2012 引用.NET 4.5的测试项目类库 NuGet的NunitLite V1.0.0包-包含.NET 4.5的版本 使用NuGet的Nunit测试适配器V1.2运行测试 即使是最简单的测试: [Test] public void SimpleTest() { Assert.That(1 == 1); } 我得到了一个例外: System.NullR

NUnit Addins和Resharper 5

最新的Resharper(v5)版本基于本机NUnit代码,并允许NUnit加载项 我有一个NUnit插件,它在NUnit GUI中运行良好,但我无法使它与Resharper一起工作。根据R#指示,我已将我的加载项库放入%ResharperPath%\Bin\addins中,但我不工作,我的测试被标记为忽略 问题:如何将NUnit加载项与ReSharper一起使用 不幸的是,ReSharper的测试运行程序不支持NUnit加载项。它已经被添加了,但还没有被添加,甚至没有添加到即将发布的ReSha

为数据驱动测试定制NUnit GUI

我的测试项目由一组输入数据文件组成,输入到一个遗留的第三方软件中。由于该软件的输入数据文件很难构建,而不是有意创建,因此我不打算添加新的输入数据文件 每个输入数据文件将接受一组测试功能。一些测试函数可以独立调用。其他测试功能表示顺序操作的各个阶段-如果早期阶段失败,则不需要执行后续阶段 我已经使用NUnit参数化测试用例TestCaseAttribute和TestCaseSourceAttribute进行了实验,将数据文件列表作为测试用例传递。我通常对选择输入数据进行测试的能力感到满意 然而,我

NUnit,针对多种文化进行测试

使用NUnit,我希望针对多种文化运行某个项目中的所有测试 该项目处理的是解析应该与区域性无关的数据,为了确保这一点,我希望针对多个区域性运行每个测试 我目前的解决办法是 public abstract class FooTests { /* tests go here */ } [TestFixture, SetCulture ("en-GB")] public class FooTestsEN : FooTests {} [TestFixture, SetCulture ("pl-

NuGet和nUnit自动化

我有一个VS项目,在“调试”选项卡下的项目属性中,我设置了: 启动外部程序:D:\SolutionName\packages\NUnit.2.5.10.11092\tools\NUnit.exe 命令参数:projectname.dll 这使我可以启动nUnit并在调试项目时运行nunits测试dll 有更好的办法吗?我们使用TFS,并不是每个人都将解决方案安装到d:上,并且NuGet安装它的路径中的版本号会定期更改 希望了解如何从NuGet放置的VS:Project:References部分的

CC.NET:并行NUnit测试

我们有3个单元测试DLL,执行这些测试需要1小时(分别为30、20和10分钟)。同时运行,所需时间不超过30分钟 您是否知道在CC.Net或“内部”NUnit进程中并行执行NUnit是否可能,以及如何实现: 同时运行3个DLL 或者 在1个DLL中作为并行进程运行多个测试 我们最终通过MSBuild并行运行测试,然后将生成的(多个)测试结果文件合并到一个文件中以便于报告-CC.Net将很乐意在构建服务器上为您做到这一点,但对于开发人员来说,在他们自己的机器上也能获得有意义的结果也很好 示例

Nunit 显示NCover的覆盖测试

在NCover(对于NUnit)中,它显示代码的哪些部分没有被任何测试命中 对于实际包含的代码路径,是否有可能找出哪些测试实际命中了它们 注意:这在JetBrains的dotCover中是可能的。无法显示运行的测试,因为这些由外部测试运行程序运行,NCover无法控制 另一方面,它与紧密集成,从中可以获得有关哪些测试执行了代码的不同部分的信息。无法显示哪些测试正在运行,因为这些是由外部测试运行程序运行的,NCover无法控制 另一方面,与紧密集成,从中可以获得有关哪些测试执行了代码的不同部分的信

我有通过NUnitGUI和Resharper的单元测试,但在TeamCity运行时失败

我设置了一个TeamCity服务器来构建多个解决方案,然后使用NUnit测试运行程序在其中运行单元测试 这几个月来一直运作良好;但是,在最新版本中,我遇到了以下错误: 安装方法失败。安装程序:System.IO.FileLoadException:无法 加载文件或程序集的log4net,版本=1.2.13.0,区域性=中性, PublicKeyToken=669e0ddf0bb1aa2a'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考资料。(来自HRESULT的异常:0x8013

TeamCity 9.1.5中的Nunit 3 msbuild任务失败

我正在尝试升级到Nunit 3.0.1,我正在使用TeamCity进行ci构建。 我们以前使用此msbuild任务运行版本为2.x的nunit测试,但现在由于nunit 3出现以下错误而失败 [NUnit]未能找到插件“Test/NUnit-3.0.1” 在c:\BuildAgent\work\ad31cec0a1b0f083\src\Utils\src\PluginManager.cs中的JetBrains.TeamCity.Utils.PluginManager.LoadExten

Nunit 如何在Moq中验证statc方法

我是新来的Nunit和Moq 我有一个这样的静态类: public static class StaticClass1 { public static void Prepare() { //some logic } } public static class StaticClass2 { public static void Initialize(some_parameter) { //some logic if (some_condition(so

Nunit 如何为使用IOwinContext扩展方法的代码编写单元测试

IdentityServer3有很多扩展方法,这些方法很好。当尝试单元测试包含以下IOwinContext扩展方法调用的代码时,会出现问题,如:GetIdentityServerHost()、GetIdentityServerBasePath()等 即使在模拟HttpContext并能够获得OwinContext实例之后,我仍然会得到错误,因为一切都是模拟的,所以内部依赖项(例如基于Autofac的)没有得到解决 以下是单元测试错误: System.ArgumentNullException :

Nunit 努尼特断言。等于我错过了什么?

Assert.Equals()从不调用 Equals() operator == operator != 我错过什么了吗?我已经实现了IEquatable,但是在使用nunit时,仍然没有调用这些方法 if (objectA != objectB) Assert.Fail(); //doesnt fail if (!objectA.Equals(objectB)) Assert.Fail(); //doesnt fail Assert.AreEqual(objectA, objectB); /

NUnit-如何包括日志记录

NUnit默认记录器上的任何示例都可以记录信息。一些文档说现在不支持log4net。谢谢你的帮助 谢谢,kumar。您可以使用普通的.NET或类来记录NUnit稍后将显示的消息。您可以添加Common.Logging引用(使用log4net)并在配置文件中添加ConsolePender。配置appender后,您将在运行单元测试时看到日志信息。哪些文档说明不支持log4net,你能给出一个url吗?是的,但是这种日志只有在测试运行时才能被观察到,但是如果要求保存每个测试运行的日志呢?你可以用cu

Nunit 启动后的SpecFlow未触发

在SpecFlow中,不会触发Postestrun调用。我们正确地绑定了顶部的类。在谷歌搜索之后,我们发现这个问题发生在旧版本的NUnit上,并且有一个bug修复 但是,我们现在使用的是最新版本的NUnit 2.6.4和最新版本的SpecFlow NUnit 1.9.0和SpecFlow NUnit 1.1.1发现问题是运行的NUnit core的旧版本,立即更新这些和所有触发器。您可以发布“后启动”的代码吗?

在WEB API控制器上使用nunit和moq创建测试用例

我试图在现有的WebAPI项目中的控制器上使用nunit创建一个单元测试用例。 我使用Moq作为模拟框架。在这里,我想模拟存储库以返回一些预期的 结果。我不确定在设置存储库模型和验证结果时我能做些什么。 有人能告诉我我做得对不对吗?我只是用一个随机控制器来回答这个问题。 如果您对某个示例url有任何建议或指导,我们将不胜感激 [TestCase] public void TestMethod1() { AccountController ac = new AccountControlle

Nunit 如何将跟踪、控制台和错误输出写入XML报告文件?

我希望将跟踪、控制台和控制台错误输出写入公共XML报告文件(例如,写入cad.UnitTests.XML)。默认情况下,此信息不是用XML编写的 我怎么做nunit console.exe具有以下参数: /output=STR File to receive test output (Short format: /out=STR) /err=STR File to receive test error output 但是我需要把它放在同一个XML文件中。这两种情况我都需要它:nunit

Nunit3如何基于从TestFixtureSource传递的参数更改testcase名称

我正在使用NUnit 3.0和TestFixtureSource在一个装置内使用不同的参数/配置多次运行测试用例(我确实希望在TestFixture级别这样做)。简单的例子: [TestFixtureSource(typeof (ConfigurationProvider))] public class Fixture { public Fixture(Configuration configuration) { _configuration = configur

Nunit MOQ问题-模拟类返回不正确的数据

所以,我使用moq进行测试,但我遇到了一个问题,它阻止我正确地模拟,至少我认为是这样。 这是我的存储库类: public interface IAccountsRepository { IQueryable<Account> Accounts { get; } IQueryable<Account> AccountsPaged(int pageSize, int selectedPage); } 这是一种最小起订量方法:

Nunit 当路径大于255时,TestContext.AddTestAttachment(字符串路径)未将文件附加到测试报告

我试图通过触发发布构建管道在azure测试计划中运行nunit测试。我发现超过255个字符的文件附件没有附加到测试报告中 使用下面的代码附加报告TestContext.AddTestAttachment(字符串路径)(随nunit软件包提供)。日志中没有引发异常,只有一条警告消息,如下所示: 无法将结果日志上载到日志存储,正在尝试上载到文件服务。 位于位置的文件在磁盘上不可用 需要有关如何将具有长路径的文件附加到测试附件的帮助 注意:相关文件在路径中可用Azure测试计划中存在windows文件

使用NUnit测试脚本并显示输出

我正在学习如何使用NUnit测试asp.net中用c编写的一些脚本。有人知道如何判断脚本在NUnit上是否通过/失败,比如测试结果输出是什么 或者有谁知道什么好的网站,在那里我可以学习如何使用NUnit 更多的链接c/o谷歌。您的问题没有足够的信息—“在asp.net中编写的脚本”非常模糊。在使用NUnit的VS时,您需要打开测试资源管理器窗口。在这里,您将看到测试和输出的通过/失败。基本上,我正在尝试创建一个测试脚本,以使用c测试asp.net中的登录页面。但是我是Nunit的初学者,我需要好

Nunit 执行specflow功能时的顺序

我可以在我的功能和场景中,或者在从specflow功能文件生成的Nunit测试中强制执行顺序吗? 如果我能首先测试我所有的数据输入功能,而不是数据修改和数据删除功能,那就太好了。我认为这更适合您选择的测试运行者。SpecFlow从测试文件为您生成测试,但不运行它们。您可以指导您的测试运行程序按照您要求的顺序运行场景 然而,我的建议是,你不要试图命令你的测试。每个场景都应该完全独立于其他场景,因此测试的运行顺序对结果没有影响。我想这取决于你所说的“好”是什么意思,如果它们是按特定顺序运行的 我正在

我必须重建Nunit 2.6.2才能与.NET4.0一起使用它吗?

当我尝试运行以下测试时: nunit-console.exe/framework:net-4.0 我得到的回报是: 未处理的异常:System.IO.FileNotFoundException:无法加载 文件或程序集的nunit控制台运行程序,版本=2.6.2.12296, 区域性=中性,PublicKeyTok n=96d09a1eb7f44a77'或其 依赖关系。系统找不到指定的文件。文件名: “nunit控制台运行程序,版本=2.6.2.12296,区域性=中性,PublicKeyToke

Nunit 如何将操作传递到测试用例中

我有一个NUnit测试 [TestCase(...)] public void test_name(Action onConfirm) { ... } 我想做的是在TestCase属性中将一个操作传递到这个测试中,但是无论我尝试什么,都会失败。我试着把 () => SomeDummyMethodIDefined() 直接进入测试用例,但这不起作用 我创造了一个动作 Action DummyAction = () => SomeDummyMethodIDefined();

NUnit 3.2 TestSourceCase TargetParameterCountException

我正在尝试从NUnit 2升级到NUnit 3 我构建了一个数据驱动的助手,从几种类型的数据文件中读取测试用例数据 我发现NUnit3.2的TestCaseSource可以传递参数,这有助于改进我的数据驱动助手,但问题是它一直在告诉我 “消息:System.Reflection.TargetParameterCountException:参数计数不匹配。” 以下是测试代码: static public IEnumerable GetCases(string a) {

使用Nunit3-console.exe运行命名空间中的所有测试

在仔细阅读NUnit3文档并尝试了一些组合之后,我仍然不知道如何在特定名称空间中运行所有测试 最明显的尝试是: nunit3-console.exe --where "test == 'MyNamespace.Subnamespace'" Tests.dll 不幸的是,这报告了零匹配测试,尽管使用--explore选项,我可以在该名称空间中看到许多测试 我是否需要使用正则表达式/通配符来实现这一点?NUnit文档给出了相反的提示,但考虑到这不起作用,我可能会这样做。以下方法似乎有效: nuni

Nunit 针对集合与多个选项进行不区分大小写的比较

我试图使用NUnit编写一个断言,以不区分大小写的方式,集合的所有(字符串)成员都是一组可能性中的一个。我以为我已经弄明白了,但它无法编译 我认为这种语法会起作用: Assert.That(new string[] { "red", "red", "red", "green" }, Is.All.AnyOf(new string[] { "RED", "BLUE", "GREEN" }).IgnoreCase); 然而,这是错误的 'Constraint' does not cont

在VS2010中使用MS Test ClassInitialize()和TestInitialize()而不是NUnit

我已经在VS2008中使用了NUnit,现在正在适应VS2010上的MSTest。我曾经能够在TestSetup()中创建一个对象,并在TestCleanup()中处理它,并且每次在NUnit中运行测试方法时都会创建该对象,从而避免在每个测试方法中重复代码 这在MSTest中是不可能的吗?我发现的使用ClassInitialize和ClassCleanup以及TestInitialize和TestCleanup属性的示例仅显示了如何写入控制台。没有显示这些属性的任何更详细的使用 下面是一个使用T

是否可以针对特定(长)测试列表运行NUnit

我有一个由其他工具自动生成的数千个NUnit测试的列表。这是所有测试的子集,并且经常更改 我希望能够通过NUnit-Console.exe运行这些。不幸的是,/run选项只接受一个文件的直接列表,在我的例子中,这些文件不能放在一个命令行中。我希望它从文件名中提取列表 我很感激我可以使用类别,但是我想经常运行的列表会发生变化,所以我不想开始改变源代码 有人知道是否有一种干净的方法让NUnit运行我指定的测试吗? 我可以用完整的命令行将其分解为一系列对NUnit控制台的较小调用,但这不是很优雅 如果

Nunit 使用Nant生成项目时出错

我有文件pro.build: 从命令提示符(DOS),我发出命令 Nant-buildfile:pro.build 但我犯了一个错误 此项目中不存在目标“生成” 您能帮我解决这个问题吗?使用的默认属性,您可以指定在命令行上未指定其他目标时应执行的目标 问题:在命令行上调用的是Nant-buildfile:pro.build,因此没有在那里指定目标。NAnt尝试执行默认目标生成,该目标不存在且失败 解决方案:要么通过调用Nant-buildfile:pro.build nunitreport在

NUnit 3和NET 4.5.1

我试图将我的项目从NUnit 2.6.4迁移到3.0.0,但遇到了.NET framework版本选择问题 就像在2.6.4中一样,我使用--framework=net-4.5.1并得到错误消息: The requested framework net-4.5.1 is unknown or not available. 我做错了什么?我通过删除--framework=net-4.5.1命令行选项解决了这个问题,让NUnit 3自己决定是在.net framework 2还是.net fram

  1    2   3   4   5   6  ... 下一页 最后一页 共 17 页