小编Mar*_*rus的帖子

JUnit 4预期的异常类型

我正在尝试对其他人编写的代码进行JUnit测试,但我无法弄清楚如何测试异常,因为异常似乎缺少类型.

public Pirate(String name, int initialGold) throws Exception {
    if(initialGold < 0)
        throw new Exception("Init Gold must be >= 0");
    this.name = name;
    this.numGold = initialGold;
    this.health = Pirate.DEFAULT_HEALTH;
    this.isCursed = false;
}
Run Code Online (Sandbox Code Playgroud)

我的JUnit代码片段:

@Test
public static void constructorTest() throws Exception{
    rodgers = new Pirate("Dread Pirate Rodgers", 10000);
    assertEquals("Dread Pirate Rodgers" , rodgers.getName());
    assertEquals(10000, rodgers.getNumGold());
    assertEquals(100, rodgers.getHealth());
    assertEquals(false, rodgers.getIsCursed());
}

@Test()
public static void exceptionTest() throws Exception{
    rodgers = new Pirate("Dread Pirate Rodgers" , -100);

}
Run Code Online (Sandbox Code Playgroud)

我知道我需要在测试的括号中放置expected =(某种类型的异常),但我对异常类型一无所知.

java testing junit object

34
推荐指数
4
解决办法
7万
查看次数

如何在vbscript中实现一个可变大小的数组

我正在重新设计网页的一部分,以便将来更容易更新.目前,它是一系列硬编码的表.要重新设计表格(例如,按照我想要的方式按字母顺序排列),需要手动交换html中的很多值.

这就是我想要做的:创建一个带有title和link变量的url_Link对象,分别保存显示名称和url.创建一个url_Link对象数组,并将其填充到页面的.asp文件的顶部.对这些阵列上的每个循环执行a以构建和填充表

这本身并不是那么糟糕,但我遇到了两个问题.首先,我不想定义数组大小,因为当对链接数进行更改时,这需要更改第二个位置.将存在一些逻辑来阻止显示某些url_Link对象(例如,某些用户无法访问某些页面,因此他们将看不到链接),这会在调整数组大小时引起问题.

我知道我可以制作一个大尺寸的数组,但这对我来说似乎很浪费(我不知道每个函数如何,也不希望出现一堆空行).

我该怎么做才能解决这些问题?我对vbscript知之甚少,而且我一直在使用的大部分代码都没有利用数组或对象.

更新:我尝试使用redim PRESERVE来修剪超大阵列的多余脂肪.问题是在某些情况下,由于if条件,我的数组中填充的对象数量少于其最大大小.当我使用for循环时,这会导致问题(尝试为每个循环工作并且目前没有发生).我在redim行上收到错误"此数组已固定或暂时锁定"

码:

  dim systemSettingsArray(1) 
  arrayCounter = 0
  if ADMIN = "Y" then
      set systemSettingsArray(arrayCounter) = (new url_Link).Init("Account Administration","Maintenance/Account_Admin.asp")
      arrayCounter = arrayCounter + 1
  end if
  set systemSettingsArray(arrayCounter) = (new url_Link).Init("Time Approval","Maintenance/system_Time_Approval.asp")
  redim Preserve systemSettingsArray(arrayCounter)
Run Code Online (Sandbox Code Playgroud)

arrays vbscript asp-classic

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

使材料表列的内容动态宽度

经过大量修改后,我终于为我的材质表有了一个不错的设置。它有分页,有排序,有我需要的所有东西。然而,它看起来不太对劲,因为我的几个列都是单位数字值,并且它们与我希望更大的列具有相同的宽度(例如过度包装的描述)。

由于对 scss (以及与此相关的 css )缺乏经验,我不知道如何解决这个问题。我尝试以几乎所有我能想到的方式修改 flex 属性,但它似乎没有改变任何事情。

这个问题更加复杂,因为我无法轻松地使用材料表的“hack”来根据列标识符生成类,因为列是动态生成的。我也可以传递宽度信息,但这似乎是一个无法维护的黑客行为。

有没有一种方法可以将样式应用于整个表格和标题,从而获得所需的外观?

sass angular-material2 angular5

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

EF Core 3.1 中的 Group By 和 To 字典

我们已将服务从 .Net Core 2.1 更新到 3.1,在重新评估过渡期间中断或变慢的查询时,我们遇到了以下查询:

_context.InboundRecords.GroupBy(x => x.State.ToString()).ToDictionary(x => x.Key, x => x.Count())
Run Code Online (Sandbox Code Playgroud)

为了使这个“工作”与 3.1 重大更改一起,我们在 DBSet 和 Group By 之间添加一个 to list

_context.InboundRecords.ToList().GroupBy(x => x.State.ToString()).ToDictionary(x => x.Key, x => x.Count())
Run Code Online (Sandbox Code Playgroud)

这里的问题是,这会在进行分组之前将整个 InboundRecords 数据库集放入内存中。这与 2.1 的工作方式相同,但必须有更好的方法来做到这一点。我们可以调整这个查询以仅返回状态和该状态下的记录数吗?

linq entity-framework-core ef-core-3.1

5
推荐指数
1
解决办法
4184
查看次数

改善 Webpack 和 Angular 构建期间的内存使用

我们一直遇到一个问题,随着时间的推移,随着代码库大小的增加,我们的构建过程会不时由于内存耗尽而失败。我们的短期解决方案只是向进程添加更多内存,但这在很多层面上感觉都是错误的。

我们已经删除了所有旧的和未使用的代码,并采取了我们可以采取的措施来减少重复代码,这确实有所帮助,但随着项目变得更大,我们将再次遇到这个问题。

我们的一个想法是模块化项目的各个部分(无论如何,这是我们想做的事情),但我们不确定这会改善内存使用。我们也不确定边界应该在哪里(但这可能涉及将我们的服务转移到共享模块)。

这些是好主意还是我们找错了对象?在 webpack 期间减少内存使用的最佳方法是什么?

webpack angular6

5
推荐指数
0
解决办法
170
查看次数

JQuery设置本地存储变量

我在获取本地存储变量以存储正确值时遇到了一些麻烦.它的主旨是我想显示局部变量的内容,然后如果用户点击,它会从.xml文件中提取数据,并将其保存到局部变量.

问题是,它没有正确保存到本地变量.我尝试了各种语法来使它工作,我没有想法.

它的测试站点位于http://web.engr.oregonstate.edu/~todtm/assignment2.html

脚本代码:

function startAjax()
{
    $("#clickme").text("Calling server");
    $.ajax(
    {
        url: "xmlpage.xml",
        success: callbackFunction,
        error: errorFunction
    });
}

function callbackFunction(data, info)
{
    var titles = $(data).find("title");
    if (titles && titles.length)
    {
        $("#results").text("result:" + titles.text());
        localStorage.setItem('titles', #results.text());
    }
    else
        errorFunction(data, "No titles");
}

function errorFunction(data, info)
{
    $("#clickme").text("error occurred:" + info);
}

$(document).ready(function ()
{
    $("#results").text(localStorage.getItem('titles'));
});
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

在方法中使用 Scanner

我是编程新手,所以如果对此有一个非常简单的答案,我深表歉意,但实际上我似乎找不到任何东西。我在猜数字游戏中使用扫描仪对象进行用户输入。扫描器是在我的 main 方法中声明的,并将在一个其他方法中使用(但该方法将在所有地方被调用)。

我试过将它声明为静态的,但是 eclipse 适合它并且不会运行。

 public static void main(String[] args) {
    int selection = 0;
    Scanner dataIn = new Scanner(System.in);
    Random generator = new Random();
    boolean willContinue = true;

    while (willContinue)
    {
        selection = GameList();

        switch (selection){
        case 1: willContinue = GuessNumber(); break;
        case 2: willContinue = GuessYourNumber(); break;
        case 3: willContinue = GuessCard(); break;
        case 4: willContinue = false; break;
        }

    }



}

public static int DataTest(int selectionBound){
    while (!dataIn.hasNextInt())
    {
        System.out.println("Please enter a valid value");
        dataIn.nextLine();
    } …
Run Code Online (Sandbox Code Playgroud)

java methods input

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

查询命令超时= 0时的计时

我有一个令人沮丧的问题,查询通常需要1.5-2分钟才能运行(由于缺乏修改此数据库的能力,我们无法比这次更多地改进它).尽管Command Timeout属性设置为0(这是C#代码),查询超时.

以下是执行查询的代码:

public DataTable GetData()
{
    DataTable results = new DataTable();

    try
    {
        using (var sqlConnection = new SqlConnection(ConfigurationManager.AppSettings["SqlConnectionString"].ToString()))
        {
            String command = _query;

            sqlConnection.Open();
            var sqlCommand = sqlConnection.CreateCommand();
            sqlCommand.CommandText = command;
            sqlCommand.CommandType = CommandType.Text;
            sqlCommand.CommandTimeout = 0;
            SqlDataAdapter daM = new SqlDataAdapter(sqlCommand.CommandText, sqlConnection);
            daM.Fill(results);
            sqlConnection.Close();
        }
    }
    catch(Exception e)
    {
        Console.WriteLine("Error " + e.StackTrace);
    }

    Console.WriteLine("Retrieving results for query " + _query);
    Console.WriteLine("Total Results: " + results.Rows.Count);
    return results;
}
Run Code Online (Sandbox Code Playgroud)

我不知道在哪里寻找罪魁祸首.设置更明确的超时没有任何作用,正如我所说,没有办法进一步改进我们能够找到的查询.连接字符串具有以下参数:

server =

集成安全性= SSPI

database =

连接超时= …

.net c# sql-server

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

向材料自动完成添加加载指示器

我正在使用 Angular 5 的材料组件,并且有一个表单控件,它是由服务调用提供支持的自动完成功能。不幸的是,在服务调用完成之前,自动完成不会显示,并且由于我们目前遇到的一些网络延迟问题,大多数用户在服务调用完成之前完成了输入。我想显示某种自动完成正在加载的视觉指示器,但无法弄清楚如何去做。

我们尝试的廉价解决方案是使用工作“加载”填充自动完成菜单,但这需要调整我们的过滤,以便在有人开始输入不以 l 开头的值时它不会立即被压缩。

这是其中一个字段的 HTML 基础知识:

<mat-form-field [hideRequiredMarker]="true">
    <input matInput [(ngModel)]="size" type="text" 
             placeholder="{{'OPTIONS.SIZE' | translate}}"
             [matAutocomplete]="autoSize"
             readonly="{{!model}}"
             (keyup)="filterSizes()"
             matTooltip="{{ 'OPTIONS.MODEL_REQUIRED' | translate }}" 
             [matTooltipDisabled]="model != ''" />

    <mat-autocomplete #autoSize="matAutocomplete">
       <mat-option *ngFor="let completeSize of filteredSizeNames" [value]="completeSize">
          {{completeSize}}
       </mat-option>
    </mat-autocomplete>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

服务调用完成后会填充filteredSizeNames 变量。我浏览了材料组件页面,但运气不佳,找到了解决方案。

angular5 angular-material-5

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

C的新手,在编译时遇到一些麻烦

当我编译几个简短的C程序时,我遇到了一些错误,我很遗憾发生了什么:

第一个给出了这些错误:

Q3.c:在函数âsort中:

Q3.c:11:警告:隐式声明函数âq_sortâ

Q3.c:顶级:

Q3.c:14:警告:âq_sortâ的冲突类型

Q3.c:11:注意:之前的"q_sort"隐式声明就在这里

Q3.c:在函数中:

Q3.c:52:警告:隐式声明函数âmallocâ

Q3.c:52:警告:内置函数âmalloc的不兼容的隐式声明

Q3.c:56:警告:隐式声明函数“

相关部分代码:

void sort(int* number, int n){
 /*Sort the given array number , of length n*/
 q_sort(number, 0, (n - 1));
}

void q_sort(int* numbers, int left, int right)
{
  int pivot, l_hold, r_hold;

  l_hold = left;
  r_hold = right;
  pivot = numbers[left];
  while (left < right)
  {
    while ((numbers[right] >= pivot) && (left < right))
      right--;
    if (left != right)
    {
      numbers[left] = numbers[right];
      left++;
    }
    while ((numbers[left] <= …
Run Code Online (Sandbox Code Playgroud)

c quicksort

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

Kubernetes Secret通过删除持续存在

我正在尝试从Rabbitmq部署失败中清除一些剩余数据。因此,我有3个秘密从未被完全启动的兔子服务所使用。每当我尝试使用kubectl delete secret删除它们时,它们都会立即以相似的名称重新创建(即使使用--force时)。

我看不到任何使用这些机密的服务或Pod,因此不应存在任何持久性的原因。

删除时发生的情况的示例: 在此处输入图片说明

kubernetes kubectl

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

VBScript的每个问题

我对如何对对象数组进行for-each循环感到困惑。当前,我的方法以两种方式之一使我出错。for循环执行或因为认为类变量未定义而遇到问题,或者遇到对象类型是非法赋值的问题。

这是我定义的类:

Class url_Link
     Public title, link
     Public Default Function Init(newTitle, newLink)
         title = newTitle
         link = newLink
         Set Init = Me
     End Function
End Class
Run Code Online (Sandbox Code Playgroud)

作为参考,我得到的错误是:

Microsoft VBScript运行时错误'800a01f5'
非法分配:“ url_Link”
行674

使用此代码段:

<% for each x in systemSettingsArray%> 
<tr>
<td class='nograph'><A href='<%x.link%>'><%x.title%></a></td>
</tr>
<%next%> 
Run Code Online (Sandbox Code Playgroud)

当我更改url_Link为时x,出现此错误:

无效的过程调用或参数“链接”

创建对象并填充数组的代码:

Dim systemSettingsArray(1)
Dim link
Dim arrayCounter
arrayCounter = 0

Set systemSettingsArray(arrayCounter) = (New url_Link)("Account Administration", "Maintenance/Account_Admin.asp")
arrayCounter = arrayCounter + 1
Set systemSettingsArray(arrayCounter) = (New url_Link)("Time Approval", "Maintenance/system_Time_Approval.asp")
Run Code Online (Sandbox Code Playgroud)

arrays vbscript for-loop

0
推荐指数
1
解决办法
192
查看次数

生产环境中返回的28,000行非常缓慢

我有一个非常简单的获取,它从字面上抓取整个数据库集并通过线路返回它.有问题的集合目前约为28,000行.

在本地测试时,对数据库的调用在不到一秒的时间内完成,但是大摇大摆的调用大约需要一分钟.在我们的生产环境中,完成调用大约需要1-2分钟(我们没有准确的数据库调用的时间码,但我们在前端计时需要多长时间,而且它也是1-2分钟).

数据调用和它到达前端之间的某些东西需要很长时间,而且我不确定如何解决它.

代码字面意思是:

[HttpGet]
public IActionResult GetAllCustomers()
{
    return Ok(_context.Customers);
}
Run Code Online (Sandbox Code Playgroud)

我还能做些什么来调试这个?

我们的工作解决方案将是显着限制数据集,而不是返回<1000条记录,但业务首选项是拥有所有内容并让前端表对其进行排序和过滤.

在云雀上,我从模型中删除了所有相关对象,并将其剥离到表格中的10个左右列,但仍然需要很长时间.

c# asp.net-core ef-core-2.1

-1
推荐指数
1
解决办法
80
查看次数