我有一个webservice,它基本上只执行一些存储过程,转换数据并将其发送到浏览器.没有花哨的ORM映射器或类似的东西.为了能够在不访问数据库的情况下编写测试,我已完成以下操作:
现在我已经序列化了样本结果,我可以用我的项目检查,我可以在我的测试中使用假数据库.
这对我很有用.是否有一些框架可以更轻松地创建和加载示例数据?我当前的项目很小,但我会在较大的项目中使用相同的模式.
更新:
显然所有答案都没有错,但忽略了这一点.我知道单元测试的基础知识.但是我的代码正在使用DataTables,所以我不得不以某种方式伪造我的DataTables.从头开始构建DataTable并不是一件容易的事,它会使我的测试膨胀并降低可读性.就我而言,手动生成有用的样本数据是不可能的.
因此,我对示例数据库执行了一些示例调用以获取一些DataTable.我已将这些表序列化到磁盘并使用序列化版本在测试时创建我的假DataTables.这样,测试独立于数据库.
关于如何构造代码有不同的选项,使表的反序列化更容易.但这些是实施细节,此时不需要讨论.我的问题如下:
管理示例调用和(反)序列化表是一项繁琐的工作.我正在寻找一些工具来使这更容易.
是否可以通过命令行将值传递给NUnit测试?我的测试使用某个URL.我在不同的URL上有不同的代码实例,并希望通过命令行指定URL.App.config不是一个选项,因为我想通过批处理文件运行不同URL的测试.
我想开发一个Web应用程序,它应该(理想地)通过键盘完全可用.我知道如何在javascript中处理键盘事件,但为更大的应用程序管理它们非常无聊.我想知道是否有人知道一个使这个过程更容易的库.任何提示?请注意,我对完整的Web GUI框架不感兴趣.我想控制我的网页/应用.
我想发布一个字符串数组
[
"id1",
"id2"
]
Run Code Online (Sandbox Code Playgroud)
基于Swagger的API.在我的招摇文件中,我有这些行:
paths:
/some_url:
post:
parameters:
- name: ids
in: body
required: true
Run Code Online (Sandbox Code Playgroud)
指定ids字符串数组的类型的正确方法是什么?
更新:
根据规范,以下应该在我的选项中工作:
parameters:
- in: body
description: xxx
required: true
schema:
type: array
items:
type: string
Run Code Online (Sandbox Code Playgroud)
https://github.com/Yelp/swagger_spec_validator不接受它,并返回一长串错综复杂的错误,看起来就像代码所期望的那样$ref.
是否有可能创建python函数的真实副本?最明显的选择是http://docs.python.org/2/library/copy.html,但我读到了:
它通过返回原始对象来"复制"函数和类(浅和深);
我需要一个真正的副本,因为我可能会更改该函数的某些属性.
更新:
我知道评论中提到的所有可能性.我的用例基于元编程,我从一些声明性规范中构造类.完整的细节对于SO来说太长了,但基本上我有一个类似的功能
def do_something_usefull(self,arg):
self.do_work()
Run Code Online (Sandbox Code Playgroud)
我将这个方法添加到各个类.类可以完全不相关.使用mixin类不是一个选项:我将有许多这样的函数,并最终为每个函数添加一个基类.我目前的"解决方法"是将此函数包装在"工厂"中,如下所示:
def create_do_something():
def do_something_usefull(self,arg):
self.do_work()
Run Code Online (Sandbox Code Playgroud)
这样我总是得到一个新的do_something_useful函数,但是我必须像这样包装我的所有函数.
我相信我,我知道,这不是"正常"的OO编程.我知道如何解决"通常"这样的问题.但这是一个动态代码生成器,我希望尽可能保持轻量级和简单的一切.由于python函数是非常普通的对象,我不认为如何复制它们太奇怪了!?
我在SQL服务器上有一些脱机数据库.我想知道光盘上的哪些文件与这些数据库有关.是否可以检索脱机数据库的文件列表而无需先将它们联机?
我使用反射检查C#方法的参数.该方法有一些输出参数,对于这些参数,我得到了返回类型,它们具有IsByRef = true.例如,如果参数声明为"out string xxx",则参数的类型为System.String&.有没有办法将System.String转换回System.String?解决方案当然不仅适用于System.String,也适用于任何类型.
我正在调试一个似乎与ARITHABORT相关的奇怪行为.如何检索活动连接的ARITHABORT的当前值?
欢呼,阿奇姆
我在Abcpostgresql数据库的公共模式中创建了一个表.根据文档public应该是默认架构.search_path设置"$user",public为预期.但是以下失败了:
select * from Abc
Run Code Online (Sandbox Code Playgroud)
这个电话也失败了:
select * from public.Abc
Run Code Online (Sandbox Code Playgroud)
两者都产生错误说relation ... does not exist.但这个工作正常:
select * from public."Abc"
Run Code Online (Sandbox Code Playgroud)
我是一位经验丰富的T-SQL开发人员,但对postgresql很新.根据文档,应该可以使用postgresql的"普通"SQL.但它在我的情况下不起作用.什么暗示我可能搞砸了!?
我在一台机器上有多个virtualenvs,但它们都需要numpy和pandas.我希望每个virtualenv都有单独的副本,但这些virtualenvs的创建需要相当长的时间.是否有一些明确定义的方法在我的机器上预编译numpy和pandas一次然后做类似的事情:
pip install my_precompiled_numpy
Run Code Online (Sandbox Code Playgroud) c# ×2
python ×2
t-sql ×2
testing ×2
access-keys ×1
command-line ×1
database ×1
deep-copy ×1
javascript ×1
mocking ×1
numpy ×1
nunit ×1
pandas ×1
pip ×1
postgresql ×1
reflection ×1
rest ×1
sql ×1
sql-server ×1
swagger ×1
swagger-2.0 ×1
virtualenv ×1