我有一个使用创建的FileInputStream Context.openFileInput().我现在想将文件转换为字节数组.
不幸的是,我无法确定所需的字节数组的大小FileInputStream.read(byte[]).该available()方法不起作用,我无法使用特定路径名创建文件以检查其长度,可能是因为非root用户无法访问该路径.
我读到了ByteArrayOutputStream,似乎动态调整字节数组大小以适应,但我无法从如何读取FileInputStream到写入ByteArrayOutputStream.
我已经对SqlGeographySQL Server 2016中的新空间库进行了一些测试,根据Microsoft的说法应该比以前的版本快得多:
SQL Server 2016 - 它运行速度更快:本机空间实现.应用SQL Server 2016,更广泛的方法和空间活动更快,更好地扩展.SQL Server二进制更新没有应用程序或数据库更改,显示出显着的改进.
但是,测试显示新库比旧库慢.我已经在C#中使用微软发布的Nugets进行了测试Microsoft.SqlServer.Types.我已经针对版本14(SQL Server 2016)测试了版本11.
我应该怎么做才能让新的空间库表现更好?
小测试的源代码是:
var line1 = CreateLine(56, -4, 58, 16);
var line2 = CreateLine(58, -4, 56, 16);
for (int i = 0; i < 50000; i++)
{
var intersection = line1.STIntersects(line2);
var contains = line1.STBuffer(1000).STContains(line1);
}
public static SqlGeography CreateLine(double fromLat, double fromLon, double toLat, double toLon)
{
SqlGeographyBuilder constructed = new SqlGeographyBuilder();
constructed.SetSrid(4326);
constructed.BeginGeography(OpenGisGeographyType.LineString);
constructed.BeginFigure(fromLat, fromLon);
constructed.AddLine(toLat, toLon);
constructed.EndFigure();
constructed.EndGeography();
var line …Run Code Online (Sandbox Code Playgroud) 我已经阅读了关于XML DOM和HTML DOM的内容,但我没有看到很大的区别.在w3schools中有两篇文章,XML DOM和HTML DOM,描述了两个DOM,但我认为它们很像.我还阅读了有关stackoverflow的帖子,但它更多的是使用DOMS之间的方法/属性,而不是差异.我也无法在Google上找到任何关于它的信息.
我知道DOM是一种表示HTML和XML文档的方式,并由树来说明.我也知道DOM对于HTML文档和XML文档是什么样的,以及如何操作它们.
那有什么区别?
我在使用Visual Studio Online提供的新Team Build部署Azure Web服务时遇到了一些麻烦.成功构建解决方案后,部署任务会尝试查找失败的CsPkg和CsCfg.
如何指定所需的"默认工件目录下的CsPkg/CsCfg路径"?我是否必须指定一些MSBuild参数?
我想在运行容器时使用“ npm run test”作为覆盖的命令来测试节点docker映像。
我的Dockerfile是:
FROM node:alpine
WORKDIR /app
COPY ./package.json ./
RUN npm install
COPY ./ ./
CMD ["npm", "run", "start"]
Run Code Online (Sandbox Code Playgroud)
“ npm run test”命令应该在我的容器中运行,并退出到终端(本地和Travis CI),但是测试运行被限制在“运行所有测试套件”。等待输入。
我的docker run命令是:
docker run myimage npm run test -- --coverage
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
docker run myimage npm run test -- --forceExit
Run Code Online (Sandbox Code Playgroud)
但是当测试运行时(在本地或在Travis CI中)都没有退出。
我的App.test.js文件是标准测试:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<App />, div);
ReactDOM.unmountComponentAtNode(div);
});
Run Code Online (Sandbox Code Playgroud)
如何完成测试后自动退出测试?
我正在使用MS Unity和"按惯例注册"(自动注册)来注册命名空间中的所有类.代码(见下文)适用于它并返回预期结果
var container = new UnityContainer();
container.RegisterTypes( AllClasses.FromLoadedAssemblies().Where(
t => t.Namespace == "DependencyInjectionExample.Test"),
WithMappings.FromMatchingInterface,
WithName.Default,
WithLifetime.ContainerControlled);
Run Code Online (Sandbox Code Playgroud)
结果
集装箱有4个注册
- IUnityContainer'[默认]'容器
- TestClass1'[默认]'ContainerControlled
- TestClass2'[默认]'ContainerControlled
- TestClass3'[默认]'ContainerControlled
我的问题是我无法弄清楚如何解决它们.我试过了
var allRegistered = container.ResolveAll<ITestable>();
Run Code Online (Sandbox Code Playgroud)
但它不会返回任何内容(所有测试类都实现了ITestable).当我尝试
var singleRegistered = container.Resolve<ITestable>();
Run Code Online (Sandbox Code Playgroud)
我得到'ResolutionFailedException' - "类型ITestable没有可访问的构造函数".我读过这是因为注册的类型没有命名,但在使用自动注册时是不可能的.
我该怎么办才能解决注册类型?
编辑
namespace DependencyInjectionExample.Test
{
public interface ITestable
{
string SaySomething();
}
}
Run Code Online (Sandbox Code Playgroud)
三个测试类之一.他们都做同样的事情.
namespace DependencyInjectionExample.Test
{
public class TestClass1 : ITestable
{
public TestClass1() { }
public string SaySomething()
{
return "TestClass1 hello";
}
}
}
Run Code Online (Sandbox Code Playgroud)