首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >没有为Util类型定义方法。

没有为Util类型定义方法。
EN

Stack Overflow用户
提问于 2017-11-21 10:34:06
回答 1查看 1.2K关注 0票数 0

我正在从整个文件这里复制粘贴代码,然后对其进行更改并实现IReporter,并在我的java文件中完成了所有必要的导入。除了一个与以下导入相关的错误外,所有错误都消失了:

import org.testng.internal.Utils;

错误是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
The method longStackTrace(Throwable, boolean) is undefined for the type Utils   

The method shortStackTrace(Throwable, boolean) is undefined for the type Utils

这两个是定义的,我可以看到它是这里这里。我试着清理这个项目,重新启动eclipse,但是什么都没成功。在pom.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<testng.version>6.10</testng.version>
 <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
             <version>${testng.version}</version>
             <scope>test</scope>
             <scope>compile</scope> //tried this also
  </dependency>

下面是这个班

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package firsttestngpackage;

import java.util.Map;

//import org.apache.xml.serializer.utils.Utils;

import org.testng.IReporter;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.reporters.TestHTMLReporter;
import org.testng.xml.XmlSuite;

import org.testng.ITestContext;
import org.testng.ITestNGMethod;
import org.testng.ITestResult;
import org.testng.Reporter;
import org.testng.TestListenerAdapter;
import org.testng.TestRunner;
import org.testng.internal.Utils;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Objects;



public class CustomReport  implements IReporter {

     @Override
        public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
                                   String outputDirectory) {

        }

     public static void generateTable(PrintWriter pw, String title,
              Collection<ITestResult> tests, String cssClass, Comparator<ITestResult> comparator)
          {
            pw.append("<table width='100%' border='1' class='invocation-").append(cssClass).append("'>\n")
              .append("<tr><td colspan='4' align='center'><b>").append(title).append("</b></td></tr>\n")
              .append("<tr>")
              .append("<td><b>Test method</b></td>\n")
              .append("<td width=\"30%\"><b>Exception</b></td>\n")
              .append("<td width=\"10%\"><b>Time (seconds)</b></td>\n")
              .append("<td><b>Instance</b></td>\n")
              .append("</tr>\n");

            if (tests instanceof List) {
              Collections.sort((List<ITestResult>) tests, comparator);
            }

            // User output?
            String id;
            Throwable tw;

            for (ITestResult tr : tests) {
              pw.append("<tr>\n");

              // Test method
              ITestNGMethod method = tr.getMethod();

              String name = method.getMethodName();
              pw.append("<td title='").append(tr.getTestClass().getName()).append(".")
                .append(name)
                .append("()'>")
                .append("<b>").append(name).append("</b>");

              // Test class
              String testClass = tr.getTestClass().getName();
              if (testClass != null) {
                pw.append("<br>").append("Test class: ").append(testClass);

                // Test name
                String testName = tr.getTestName();
                if (testName != null) {
                  pw.append(" (").append(testName).append(")");
                }
              }

              // Method description
              if (! Utils.isStringEmpty(method.getDescription())) {
                pw.append("<br>").append("Test method: ").append(method.getDescription());
              }

              Object[] parameters = tr.getParameters();
              if (parameters != null && parameters.length > 0) {
                pw.append("<br>Parameters: ");
                for (int j = 0; j < parameters.length; j++) {
                  if (j > 0) {
                    pw.append(", ");
                  }
                  pw.append(parameters[j] == null ? "null" : parameters[j].toString());
                }
              }

              //
              // Output from the method, created by the user calling Reporter.log()
              //
              {
                List<String> output = Reporter.getOutput(tr);
                if (null != output && output.size() > 0) {
                  pw.append("<br/>");
                  // Method name
                  String divId = "Output-" + tr.hashCode();
                  pw.append("\n<a href=\"#").append(divId).append("\"")
                    .append(" onClick='toggleBox(\"").append(divId).append("\", this, \"Show output\", \"Hide output\");'>")
                    .append("Show output</a>\n")
                    .append("\n<a href=\"#").append(divId).append("\"")
                    .append(" onClick=\"toggleAllBoxes();\">Show all outputs</a>\n")
                    ;

                  // Method output
                  pw.append("<div class='log' id=\"").append(divId).append("\">\n");
                  for (String s : output) {
                    pw.append(s).append("<br/>\n");
                  }
                  pw.append("</div>\n");
                }
              }

              pw.append("</td>\n");


              // Exception
              tw = tr.getThrowable();
              String stackTrace;
              String fullStackTrace;

              id = "stack-trace" + tr.hashCode();
              pw.append("<td>");

              if (null != tw) {
                fullStackTrace = Utils.longStackTrace(tw, true);
                stackTrace = "<div><pre>" + Utils.shortStackTrace(tw, true)  + "</pre></div>";

                pw.append(stackTrace);
                // JavaScript link
                pw.append("<a href='#' onClick='toggleBox(\"")
                .append(id).append("\", this, \"Click to show all stack frames\", \"Click to hide stack frames\")'>")
                .append("Click to show all stack frames").append("</a>\n")
                .append("<div class='stack-trace' id='").append(id).append("'>")
                .append("<pre>").append(fullStackTrace).append("</pre>")
                .append("</div>")
                ;
              }

              pw.append("</td>\n");

              // Time
              long time = (tr.getEndMillis() - tr.getStartMillis()) / 1000;
              String strTime = Long.toString(time);
              pw.append("<td>").append(strTime).append("</td>\n");

              // Instance
              Object instance = tr.getInstance();
              pw.append("<td>").append(Objects.toString(instance)).append("</td>");

              pw.append("</tr>\n");
            }

            pw.append("</table><p>\n");

          }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-27 12:10:10

按照上述意见中的建议

通过eclipse更新testNG插件->检查是否更新->然后选择testNG并进行更新,解决了错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47420282

复制
相关文章
使用 asp.net mvc和 jQuery UI 控件包
如果你使用asp.net mvc,而且使用的js库是jQuery, 那么一定别错过使用jQuery UI,使用jQuery UI 有个一套的mvc套件值得使用jQuery ASP.Net MVC Co
张善友
2018/01/19
1.6K0
使用 asp.net mvc和 jQuery UI 控件包
在asp.net mvc上应用新ASP.NET图表控件
微软去年11月发布了一个很酷的新ASP.NET服务器控件,<asp:chart />,可以免费用在ASP.NET 3.5中,而且还可以用在asp.net mvc。可以看新ASP.NET图表控件<asp:chart runat="server"/>。 相关资源的下载链接: Download the free Microsoft Chart Controls Download the VS 2008 Tool Support for the Chart Controls Download the Microso
张善友
2018/01/30
2.8K0
在asp.net mvc上应用新ASP.NET图表控件
MVC Grid 控件
特点: 集成Grid展示,排序,删除,分页,筛选,ajax 效果: 排序,分页,查询集成ajax 使用简单: 根据编写的T4模版,能直接生成数据访问类和controller类,不必为数据访问而伤神 对
JadePeng
2018/03/12
8770
MVC Grid 控件
ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
测试驱动 ASP.NET MVC Keith Burnell 下载代码示例 模型-视图-控制器 (MVC) 模式的核心是将 UI 功能划分成三个组成部分。模型表示您的领域的数据和行为。视图管理模型的显示并且处理与用户的交互。控制器协调视图和模型之间的交互。通过这样将本质上就难于测试的 UI 逻辑与业务逻辑分离开来,使得使用 MVC 模式实现的应用程序非常易于测试。在本文中,我将论述用于增强您的 ASP.NET MVC 应用程序的可测试性的最佳做法和技术,包括如何建立您的解决方案的结构、设计代码架构以便处理依
张善友
2018/01/22
5.4K0
ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
Asp.Net MVC4入门指南(10):第三方控件Studio for ASP.NET MVC4 工具应用
ComponentOne Studio for ASP.NET最新版本2013V1支持MVC4,其中包括: 新增 MVC 4 工程模板 (C# & VB) 开箱即用的MVC 4 工程模板基于Microsoft内置模板创建,我们仅优化了标记和CSS样式为默认风格,熟悉的模板布局和界面风格,无疑将缩短您的学习过程、节省开发时间及提高开发效率。 新增国际化主题(Metro) MVC4 模板自动增强MVC Scaffolding模板,将会为您应用程序中的增删改查(CRUD)操作生成默认的模板文件,这些生成的文件为
葡萄城控件
2018/01/10
1.6K0
Asp.Net MVC4入门指南(10):第三方控件Studio for ASP.NET  MVC4 工具应用
ASP.NET MVC Section
本篇文章我们来讨论一下ASP.NET MVC框架中的Section。 Section主要用于将一部分代码插入到 Layout页面中的指定位置。通俗地说就是,我们先在 Layout页面中通过@RenderSection("Header")的方式挖一个坑,告诉下面的视图页面说,我这个地方有个坑,你们把你们各自相关的代码放进来吧。然后,使用该Layout的视图页面通过如下的方式将一坨坨的代码送到Layout的坑中。
全栈程序员站长
2022/09/15
7590
ServiceStack.Host.MVC vs ASP.NET MVC
ServiceStack.Host.MVC vs ASP.NET MVC解决方案解决方案子项ServiceStack.Host.MVC(3.9.71)ASP.NET MVC(3.0)路由 路由规则1.只能配置/home/{name}/{page}形式 2.不能对匹配区域({name})指定任何形式的通配符(正则,等等)1.可配置各种形式的规则,比如:home/{name}_{page} 2.可以对匹配区域({name})指定正则匹配路由匹配url->路由表->RequestDTO->根据request.me
KenTalk
2018/09/11
8970
ASP.NET MVC升级到ASP.NET Core MVC踩坑小结
ASP.NET Core是微软新推出的支持跨平台、高性能、开源的开发框架,它的优势不必多说,因为已经说得太多了。当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大量的Break Changes,很多项目项目团队也不敢贸然升级,其中的考量也不全部是技术原因,更多的可能还是业务推进因素。
AI.NET 极客圈
2020/05/18
2.4K0
ASP.NET画图控件 Chart Control 免费控件
.NET3.5中中推出了图表控件,可以同时支持Web和WinForm两种方式,由于平时很少使用,一直没有玩玩,闲来无事,简单研究了下,感觉功能真的很强大,基本上可以满足各种图表的应用,感觉这么好用的东西才研究,真是有些落伍啊,哈哈,想必很多人已经早已玩过,这里帮大家复习下,高手绕过。
Java架构师必看
2021/03/22
4.1K0
ASP.NET画图控件 Chart Control 免费控件
ASP.NET MVC HtmlHelper类
ASP.NET MVC之 HtmlHelper 在ASP.NET MVC项目的开发中,一般会默认使用Razor视图来进行View层的编写,从而实现高效率的C#/HTML代码的混写。 示例 诸如下述代码
李郑
2018/03/01
1.8K0
ASP.NET MVC HtmlHelper类
ASP.NET Core MVC 概述
ASP.NET Core MVC 是使用“模型-视图-控制器”设计模式构建 Web 应用和 API 的丰富框架。 什么是 MVC 模式? 模型-视图-控制器 (MVC) 体系结构模式将应用程序分成 3
程序你好
2018/07/20
6.4K0
ASP.NET MVC使用javascript
@if (IsSectionDefined(“SubMenu”)) { @RenderSection(“SubMenu”, required: false) }
全栈程序员站长
2022/09/15
8400
ASP.NET MVC Action Filters
在看这篇Fun with Http Headers in ASP.NET MVC Action Filters的时候,提到了 Roni Schuetz在codeplex上创建的一个项目ASP.NET MVC Action Filters。计划在5月10日推出第一个版本。 项目计划包含的Action Filter: Action filter for creating easy REST API with JSON and XML Action filter for logging scenarios
张善友
2018/01/22
8530
ASP.NET MVC使用Bootstrap系列(5)——创建ASP.NET MVC Bootstrap Helpers
序言 ASP.NET MVC允许开发者创建自定义的HTML Helpers,不管是使用静态方法还是扩展方法。一个HTML Helper本质上其实是输出一段HTML字符串。 HTML Helpers能让我们在多个页面上公用同一段HTML标记,这样不仅提高了稳定性也便于开发者去维护。当然对于这些可重用的代码,开发者也方便对他们进行单元测试。所以,创建ASP.NET MVC Bootstrap Helpers是及其有必要的。 内置的HTML Helpers ASP.NET MVC内置了若干标准HTML Hel
用户1161731
2018/01/11
1.5K0
ASP.NET MVC使用Bootstrap系列(5)——创建ASP.NET MVC Bootstrap Helpers
ASP.NET MVC 路由详解
事隔多年,其实也就一年啦,重新整理下ASP.NET MVC的相关知识。继续前面的内容,来说说路由。
李郑
2019/12/04
1.5K0
asp.net MVC 验证注解
对于Web系统,对于用户的输入验证是必须的。不仅需要在客户端对用户的输入进行验证,在服务端也需要对用户的执行进行验证。 asp.net MVC中对于验证提供了一种注解机制。注解是一种通用机制,可以用来向框架注入元数据,同时框架不只驱动元数据的验证,还可以生产显示和编辑模型的HTML标记时使用元数据。 1.Required Required 是MVC提供的一种注解。当属性中一个是null或空时,Required特性将会引发一个验证错误。 [Required(ErrorMessage="")] 2.String
水击三千
2018/02/27
1.9K0
How ASP.NET MVC Works?
一、ASP.NET + MVC IIS与ASP.NET管道 MVC、MVP以及Model2[上篇] MVC、MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller的激活 ASP.NET MVC是如何运行的[4]: Action的执行 二、URL 路由 ASP.NET的路由系统:URL与物理文件的分离
蒋金楠
2018/01/15
1.5K0
ASP.NET MVC 行为详解
前面分别介绍了MVC中的三个重要部分,而行为,则是其中C-Controller中的重要内容,下面详解一二。 一般继承自Controller类,类Controller继承自ControllerBase,
李郑
2018/02/28
6780
ASP.NET MVC 行为详解
七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递
通过第一天的学习之后,我们相信您已经对MVC有一些基本了解。 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容。本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV
葡萄城控件
2018/01/10
2.3K0
七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递
ASP.NET MVC 5 - 开始MVC5之旅
本教程将使用Visual Studio 2013手把手教你构建一个入门的ASP.NET MVC5 Web应用程序。本教程配套的C#源码工程可通过如下网址下载:C#版本源码链接。同时,请查阅 Building the Chapter Downloads 来完成编译源码和配置数据库。 在本教程中的源码工程,您可在Visual Studio中运行MVC 5应用程序。您也可以使Web应用程序部署到一个托管服务提供商上。微软提供免费的网络托管多达10个网站,free Windows Azure trial accou
葡萄城控件
2018/01/10
2.2K0
ASP.NET MVC 5 - 开始MVC5之旅

相似问题

ASP.NET MVC控件

20

ASP.NET MVC控件

30

ASP.NET MVC部分控件

30

ASP.NET MVC +图表控件

11

Asp.net Mvc内置控件

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文