你有突变测试在现实生活中应用的例子吗?它是否比简单的测试覆盖率工具工作得更好?还是没用
在现实世界中,突变测试的优点/缺点是什么?不久前,我将突变测试作为检查自动回归测试脚本有效性的一种方法。基本上,这些脚本中有许多缺少检查点,因此,当它们正确运行被测试的应用程序时,它们没有根据基线数据验证结果。我发现,比更改代码简单得多的方法是编写另一个应用程序,对基线的副本进行修改,然后根据修改后的基线重新运行测试。在这个场景中,任何通过的测试要么是错误的,要么是不完整的
这不是真正的突变测试,而是一种使用
我正在使用Rhino.mock来测试系统
我将检查调用.LoadConfig和.Backup方法的顺序。我需要.LoadConfig作为第一个
当前代码如下所示:
var module1 = mocks.Stub<IBackupModule>();
var module2 = mocks.Stub<IBackupModule>();
module1.Expect(x => x.Name).Return("test");
module2.Expect(x =>
我正在使用VisualStudio的测试项目进行MVC应用程序的单元测试。
我需要从我的testinitialize单元测试方法调用Application\u start()方法,因为Application\u start()初始化我的应用程序所需的一些全局值。
我还将必要的信息从测试应用程序的web.config复制到app.config
如何执行此操作?为了调用应用程序\u Start方法,您首先需要一个应用程序实例,这在单元测试中非常困难。因此,将此方法中的所有内容外部化为一个单独的静态方
我在gwt中使用gwt google API包,以便使用可视化API。但是,我找不到允许我运行使用DataTable的单元测试的配置。是否有人拥有GWT单元测试使用GWT google API可视化部分元素的工作配置
gwt google api:我实现了一个项目,并尝试了gwt项目中的可视化api和基于HTTP的google图表api。我更喜欢GoogleCharts API,它非常灵活和强大。下面是一个关于在GWT中使用它的简短教程:
在我看来,有些代码比其他代码更容易进行单元测试。我喜欢为高功能代码编写单元测试(这里,我指的是主要对参数进行操作并返回计算结果的函数)
但是,当代码更多地关注它的副作用时,测试它就变得更加困难。例如,我在工作中使用的套接字类有一个声明如下的方法:
void Socket::Create( void );
它不接受任何参数,也不返回任何结果。它抛出错误,但底层调用(socket())的直接结果被类本身隐藏
有人能推荐一些技术,或者一本书,或者一个网站来学习更多关于单元测试代码的高级技术,这些技术
所以我想知道单元测试在处理外部依赖方面是如何工作的。在这里和其他地方,我已经熟悉了依赖注入,以及它如何允许我们测试代码单元。然而,我对如何测试其他单元(B和C)感到困惑,这些单元现在具有外部依赖性,因此它们可以将其注入到原始单元(A)中
例如,假设某个类Foo使用外部依赖项
class Foo
{
private ExternalDependency ed;
public int doSomethingWithExternalDependency() {...}
}
而clas
我正在为我的MVVM使用Jounce构建一个Silverlight应用程序。我有一个CustomerListViewModel(复数),它有一组CustomerServiceWModel对象(单个)
我使用Ninject进行依赖注入,因为我的ViewModels将依赖于其他类(即存储库、服务等)
使用依赖注入相当容易,但现在我有点卡住了。当CustomerListViewModel加载时,它将转到数据库(它已经通过DI拥有其存储库)并获取客户对象。这些应该传递给CustomServiceWMod
我正在尝试从应用程序必须处理的字段复制LDAP布局/模式,并尝试通过使用可嵌入的未绑定LDAP服务器进行自动测试来重新创建和测试它
它必须处理的情况是用户模式的'memberOf'属性,就像Active Directory一样……但是我不太确定如何在内存中向这个ldap添加'user'类
1) 这可能吗?
2) 有更好的策略吗?
3) 我应该特别做什么?我是LDAP新手
下面是我的非工作代码
谢谢,
迈克·科霍特
public class TestOpenLdap2
{
private
自动生成完成(当生成定义中将“禁用测试”设置为true时),但当我启用测试时,生成不会完成。
我正在构建调试/AnyCpu。我已经复制并粘贴了MSTest行,并在构建服务器上的shell中运行了它,我得到了一些断言失败。因此,我认为服务器正在等待忽略/重试这些断言的响应,有人知道我如何解决这个问题吗?在服务器上使用发布版本进行单元测试-其中不会有任何断言。如果您想在单元测试期间使用断言,我建议使用单元测试框架断言类而不是Debug.Assert
有关详细信息,请参阅此方法:
您有不同的断言方式
我建立了一个新的QUnit解决方案:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>QUnit Example</title>
<link rel="stylesheet" href="/resources/css/qunit.css">
</head>
除了xUnit的Assert.True提供的基本断言之外,我无法理解其他断言还能提供什么。在我们的单元测试中使用其他类型的断言有什么好处?主要是为了可读性。
例如:
StringAssert.StartsWith('abc', s);
可能比以下内容更具可读性:
Assert.True(s.StartsWith('abc'))
不过,有些断言可以做其他有用的事情,比如Assert.Fail()在JUnit中,我更喜欢使用Hamcrest(assertThat)进行所有匹配。我觉得它提供了更具
我想用CodeIgniter测试我的控制器/模型。如何使用CodeIgniter实现这一点?请查看此处的单元测试:
这可能也有帮助:您使用的平台与此无关。您可以使用内置的CodeIgniter库,或者如果您想要一种更类似于许多常见单元测试库的方法,我建议您使用Toast:
我不明白这个问题。。。在mac上运行有什么区别,您可以通过codeigniter站点上的定制页面执行单元测试。CI单元测试不是通过cli完成的,即使它们是(我相信,如果您愿意的话,您也可以)每个mac os都位于unix构建
我正在进行JavaCamel开发,我想单元测试(junit4)一组函数,并将Exchange作为参数传入
例如:
public finalObject getProperty(final Exchange exchange, final String property) throws Exception {
//all about getting property from xml message in exchange via xpath
}
问题:
1> 我可以使用EasyMock模
我正在尝试对Angularjs中负责文件上传的控制器方法进行单元测试:
$scope.uploadFile = function() {
var fd = new FormData();
for (var i in $scope.files) {
fd.append("uploadedFile", $scope.files[i]);
}
var xhr = new XMLHttpRequest();
xhr.addEventListene
我的一个模块中有一个测试文件夹,其中包含3个子文件夹:
Model
Helper
Integration
运行
phpunit --group My_Module
仅执行Model和Helper目录中的测试,集成文件夹保持不变。在所有情况下,测试文件都直接驻留在文件夹中,因此我不确定是什么导致了问题。
以下是我的phpunit.xml:
<?xml version="1.0"?>
<!-- initial phpunit configuration file, that
我有一个SBT项目,它有一个完整的构建定义,带有一个用于测试的自定义配置
我添加了一个带有自己配置的插件,如果可能的话,我希望能够使用这两种配置执行任务
如果不可能,我想把配置从插件拉到我的自定义配置中
细节
我的自定义配置是unit,用于将某些测试分类为单元测试,我想使用添加覆盖率
我的完整构建定义包括:
lazy val UnitTest = config("unit") extend(Test)
def unitTestFilter(name: String) = na
我在Stackoverflow中看到了几个关于MOQ中out参数的问题,我的问题是如何填写此参数:让我们来编码:
[HttpPost]
public HttpResponseMessage Send(SmsMoRequest sms)
{
if (sms == null)
return Request.CreateResponse(HttpStatusCode.BadRequest);
SmsMoResponse response;
_messageSe
我有一些单元测试,它们都是异步执行的。但事实证明,即使我在单元测试中多次调用了expectAsync(有时这可能涉及对expectAsync的多个嵌套异步调用),单元测试仍然会退出并调用tearDown方法,该方法有效地切断了异步测试运行的基础结构。我想要的是让我的测试运行,并等待所有预期(异步或非异步)完成,然后再继续下一个测试。这有可能实现吗?我的单元测试之所以一直通过,是因为tearDown中的清理代码也是异步执行的,但理想情况下,它应该在异步清理或立即清理时工作。
我们需要查看您的代码,
我想用CMake编写一个小型单元测试系统,可以轻松地复制并粘贴到我的所有项目中,因此我提出了以下建议:
include(CMakeParseArguments)
set(UNIT_TEST "unit_tests")
add_custom_target(${UNIT_TEST} ALL VERBATIM)
function(add_unit_test dependency)
cmake_parse_arguments(UT_ "" "NAME" "" ${ARGN})
if(N
我正在编写一个库,并计划用依赖项(如GoogleTest)编译它。生成系统如下所示:
[PROJECT]
|--- deps
|--- src
|--- tests
运行make时,排除测试中找到的源代码,运行make check时,编译测试内容并运行一些单元测试
deps的最初想法是在运行自定义目标(如makedeps)时使用单元测试对其进行编译。我是如何将这项计划付诸实施的:
% cat [PROJECT]/deps/Makefile.am
deps-local:
当前错误:
线程试图读取或写入其没有适当访问权限的虚拟地址
我不知道是哪个单元测试导致了这种情况,因为错误阻止了任何结果的显示。MSTest刚刚将测试标记为失败并继续。我如何在xunit中获得这种行为?是否有可配置的隔离级别?尝试缩小范围(即删除测试),直到找到有问题的隔离级别。也许这有助于隔离:尝试缩小范围(即删除测试),直到找到有问题的测试。也许这有助于隔离:尝试缩小范围(即删除测试),直到找到有问题的测试。也许这有助于隔离:
我正在使用编写一个简单的单元测试
然后,测试一个函数:
public class MyService {
public void getData() {
executor.execute(new MyRunnable() {
@Override
doTask() {
MyRestClient client = getRestClient();
Response resp = client.getFromServ
单元测试:
class OtherServiceSpec extends Specification {
def fooCacheService = Mock(FooCacheService)
...
}
服务:
class FooCacheService extends CacheService<String> {
...
}
我无法解释为什么会发生这种情况。我刚刚注意到Mock()在模拟接口的实现时遇到问题
我通过模拟界面解决了这个问题。因此,在您的情
当我通过IntelliJ IDE运行我的Flink应用程序的单元测试时,它们会顺利通过。不过,当我通过SBT运行它们时,会抛出一些异常(见下文)这些异常的原因可能是什么?我无法找到它们
编辑:值得注意的是,IntelliJ中的项目是作为“sbt项目”创建的,因此IDE了解项目依赖关系的方式也是通过build.sbt文件为什么从命令行运行sbt时,此文件不够?
$ sbt clean test
[info] Loading global plugins from /Users/myuser/.sb
在TestNG中,我有一个参数化的测试a,它自动从一个数据提供程序创建n个测试,以及一个测试B,每次a中的测试完成时都应该执行,因为我想利用在a中获得的结果。换句话说,我想知道是否有可能实现以下功能:
给定参数化的@Test a(dataProvider=“inputList”)和@Test B,TestNG将创建以下单元测试,并按以下顺序执行它们:
Test A1
Test B1 (Based on A1 result)
Test A2
Test B2 (Based on B2 result)
我有许多模块,包括ModuleMain和ModuleSql。模块之间存在相互依赖关系,因此ModuleMain中的主功能使用ModuleSql中的4个功能:
function Main-Function {
[CmdletBinding(SupportsShouldProcess=$true)]
# The following 4 lines are all wrapped in $PSCmdlet.ShouldProcess() and
# try {} catch {} log
我有一个文件,其中包含一些应该在Go 1.5+上运行的测试
我可以使用runtime.version()并进行各种比较来获得Go运行时版本
但是,测试文件导入golang.org/x/net/http2。http2程序包需要来自net/http的request.Cancel(),但这仅适用于Go 1.5+
在我的CI环境中导致以下错误,从而导致生成失败:
../../../golang.org/x/net/http2/transport.go:214: req.Cancel undefined
我只是有几个关于JaCoCo的问题
JaCoCo/SonarQube能否支持其他单元测试框架
它还支持什么样的单元测试框架
我们可以打开/关闭JaCoCo吗
提前感谢您回答问题1和问题2:JaCoCo是不可知单元测试框架的,即即使在手动执行Java应用程序的情况下也可以收集覆盖率信息
回答问题3:不要执行JaCoCo。1)询问JaCoCo背后的人或阅读其文档2)询问JaCoCo背后的人或阅读其文档3)询问JaCoCo背后的人或阅读其文档。
我在其他单元测试中遇到了丢失的消息,但为了有一个很好的独立示例,我创建了一个AuthGuard,用于检查用户是否登录了某些操作
代码如下:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (!this.authService.isLoggedIn()) {
this.router.navigate(['/login']);
return false;
在单元测试angular2/ionic2应用程序时,我遇到了一个有线问题。
我为应用程序编写了一些单元测试,当我点击npm test时,它们被正常测试。但是今天当我点击npm测试时,它没有检测到我的项目的任何单元测试。它在终端中提供以下输出
dilanka@Dilanka-NoteBook:/media/dilanka/Stuff/CODE BASE/Inspection/UnitTesting/Inspection-Rewrite$ npm test
> ionic-hello-wor
我正在使用injectloader模拟正在进行单元测试的Typescript项目的依赖关系。我正在测试的服务具有如下导入行:
import pnp, { SearchQuery, Sort, SortDirection, CamlQuery } from "sp-pnp-js";
在我的测试中,我想模拟pnp上的几个函数,但保持类的完整性。在我的单元测试文件中,我包含了以下导入:
import { SearchQuery, Sort, SortDirection, CamlQuery } fr
我想测量Jacoco在子项目之一的modelproject中的覆盖率。
但是,在testtask之后,jacocoTestReport任务被跳过
测试:
:model:compileKotlin UP-TO-DATE
:model:compileJava UP-TO-DATE
:model:copyMainKotlinClasses UP-TO-DATE
:model:processResources UP-TO-DATE
:model:classes UP-TO-DATE
:model:com
我的应用运行良好,以下是主文件:
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import App from './App';
import store from '../src/store/store';
ReactDOM.render(
<Provider store={store}>
<Ap
我正在尝试为我的WebRole项目设置单元测试。我创建了一个单独的项目“MyWebRole.Tests”。我遇到的问题是当我实例化他们调用的控制器方法时
RoleEnvironment.GetConfigurationSettingValue("GetValue");
我创建的单元测试项目没有为其设置任何RoleEnvironment,因此测试出错。对此进行更多研究,似乎无法在多个角色之间共享配置设置
我也不想为我的UnitTest创建一个单独的WebRole项目,因为这意味着它将被部署
如何
我的应用程序使用板条箱通过HTTP提供一些数据。核心是一个处理函数,如下所示:
struct HttpHandler {}
impl hyper::server::Handler for HttpHandler {
fn handle(&self, req: hyper::server::Request, res: hyper::server::Response) {
res.send(b"Hello").unwrap();
}
}
Hyper将为每个
我正在开发一个简单的google脚本,并将其发布为一个web应用程序
我的方法如下所示:
function doGet(request) {
var start = request.parameters.start;
var end = request.parameters.end;
if (isNaN(Number(start)))
return generateError (3, start);
if (isNaN(Number(end)))
return
我是拉威尔的新手。我使用的是laravel 5.4版本,我们需要为我们的应用程序编写phpunit测试用例,因此我搜索了编写phpunit测试用例的方法,并阅读了laravel网站上的文档。我读到了有关“黄昏”功能的文章,用于进行浏览器测试。因此,我怀疑“在laravel 5.4中编写phpunit测试用例时,黄昏是否是强制性的?我还尝试将“黄昏”包安装到我们的应用程序中,但在我运行命令“composer require laravel/黄昏”后,它没有安装
以下是我在命令提示符下遇到的错误:
我正在努力研究如何在redux可观测epic中测试retryWhen操作符。根据从中获取的信息,我在尝试测试响应失败2次之后返回有效响应的情况下进行了分叉
下面是代码的一些部分。对于整个实现,请使用
如果您在jsbin中检查响应,那么实际操作总是在空数组中进行。我遇到了一个类似的问题,当时我正在尝试测试一个角度HttpInterceptor,它在两次尝试之间有一个延迟,最多尝试三次。正如您在评论中提到的,retryWhen会在每次出错后重新订阅observable。这意味着,如果您有一个可观察到
我有一个项目解决方案,其中有我的ASP.NET核心Web Api和单元测试项目
我不知道如何在同一个解决方案中运行web api的集成测试。我尝试在设置中选择多个启动项目,但它所做的是运行api项目,然后控制台应用程序再次关闭
您知道怎么做吗?文档
我创建了一些单元测试,其中一个需要测试在一系列非法活动发生后是否引发异常。这是一组实用程序代码,因此在将来的某个时候,一些程序员可能会输入无效/非法的值
我看到哪个使用了Ada单元测试框架——在目前的情况下,这不是一个选项;然而,我可能会对它们进行重新工作,以便能够使用它(我的理解是,将单元测试项目添加到现有的遗留代码库是一个耗时的过程)
那么-我应该在这个函数体中填充什么,这样它只有在遇到多个异常时才会返回true
--* Returns true if an exception is yie
如何在独立单元测试中使用httptest或http包模拟服务器故障
详细信息:
我一直在使用gorilla WebSocket,所以当服务器停机时,mt值必须为-1。
我尝试了以下作为主要选项:
var srv *httptest.Server
srv = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_, err := wsUpgrader.Upgrade(w, r
我有这个测试方法:
@Test
`public void addNumber (int a, int b){`
`int c= a+b;`
}
当我运行它时,我得到初始化错误&这个异常:
问题是为什么我的测试方法应该没有参数?这是junit测试方法语法要求。试验方法不应有任何参数
如果要使用带参数的方法,可以使用数据提供程序。下载必要的库并用@RunWithDataProviderRunner.class注释该类
然后创建数据提供程序:
@DataPro
我想用酶和Jest对我的天然成分进行单元测试
它是一个QR扫描仪,在成功扫描后调用函数。此函数与服务器通信并返回响应。然后,它使用开关语句来确定下一步要做什么。当我仅仅使用这个应用程序时,组件和它的功能都能正常工作。但是该函数的单元测试失败,因为所有常量都未定义。我怎样才能解决这个问题
以下是我的单元测试代码(为了清晰起见,请参阅):
函数villasReceived然后调用setData。但是在单元测试中,这永远不会发生,因为开关情况总是指默认情况。此外,控制台日志的结果是,data.resu
当我试图从visual studio运行或调试代码时,我在visual studio 2017版本15.8.1上面临“找不到测试方法”
问题:[测试项目{项目名称}未引用任何.NET NuGet适配器。测试发现或执行可能不适用于此项目。建议在解决方案中的每个测试项目中引用NuGet测试适配器。]
注意:我可以使用下面的链接在visual studio 2017版本15.7.*上解决上述错误
请注意,这不是与-“”或堆栈溢出中已有的任何其他问题的重复
如果你有相同的版本。可以使用此代码复制它
[T
我用的是Artos runner。在我们的发展环境中,我们保持
true这样我就可以调试我的更改,而不必处理失败的依赖测试用例。在生产环境中,我们保持false,这样测试执行不会在失败时停止,我们可以在早上分析日志
现在我有一个不同的要求,
我有一些测试是其余单元的先决条件,所以若关键测试失败,我想跳过单元的其余部分,否则会使我们的产品进入不良状态
在Artos中,是否只有在特定的测试用例或测试单元失败时,才可以跳过单元的其余部分?
或者,如果测试无法确保我们能够安全地执行其余测试,我们可以执行
该框架提供了大量的功能
为了检查给定集合是否包含满足特定条件的元素,我可以使用Should()。Contain:
items.Should().Contain(item => item.Job == Job.Pilot, "because each plane has a pilot");
我可以确保只有一个匹配元素:
items.Should().ContainSingle(item => item.Job == Job.Pilot, "because each plane ha
我使用Equatable在单元测试中比较2个对象。这是我从Equatable扩展而来的对象:
import 'dart:convert';
import 'package:equatable/equatable.dart';
class VenuesDetails extends Equatable {
Response response;
VenuesDetails({
this.response,
});
factory VenuesDetails.fromJ
如何使用coverlet和reportgenerator从代码覆盖率报告中排除方法。在中排除整个名称空间。runsettings按预期工作,但使用[ExcludeFromCodeCoverage]属性排除整个文件,而不仅仅是目标方法。有关我在.runsettings中尝试的内容,请参见下面的注释
相关.runsettings行:
<DataCollectionRunSettings>
<DataCollectors>
<DataCollect
我正在关注Craig Russell关于测试协同程序的博文:但我无法通过此测试:
@Test
fun multipleLaunch() = runBlockingTest {
var result = 0
val jobs = mutableListOf<Job>()
for (j in 0 until 10) {
val job = launch(testDispatcherProvider.io()) {
delay
我用的是jest+VUEJS+Electron。我正在测试我的组件,我在其中使用菜单创建上下文菜单。在jest中测试组件时,它抛出了此错误-
挂载钩子中的错误:“类型错误:菜单不是构造函数”
有人能给我一个正确的方法来解决这个问题吗?或者用正确的方法来模拟菜单。谢谢
在模拟中/elctron.js
export const remote = {
menu: jest.fn(),
}
组件中
mounted () {
const titleMenu = new Menu()
1 2 3 4 5 6 ...
下一页 最后一页 共 310 页