我正在寻找一个用于CSS重构的可视化回归测试工具,并查看网站中是否存在任何意外的级联行为.
理想情况下,该工具可以抓取网站(甚至本地)并抓取每个页面的快照并将其存储在单个存储库中.
第二次运行时,它将显示自上次运行以来视觉上不同的页面.
更好的是:
为什么事件处理程序永远不会被调用,如果它被添加到一个不可数的循环中?
例如:
IEnumerable<MyType> list = someCollection.Select(i => new MyType(i));
foreach (var item in list)
item.PropertyChanged += item_PropertyChanged; <-- this never gets called
Run Code Online (Sandbox Code Playgroud)
Bu如果分配列表就像
list = someCollection.Select(i => new MyType(i)).ToArray();
Run Code Online (Sandbox Code Playgroud)
事件处理程序确实被调用..
为什么?(我想它与LINQ查询是懒惰的事实有关,但循环结果的事实是不够的?)
我写了一个存储过程,昨天通常在一秒钟内完成.今天,大约需要18秒.我昨天遇到了问题,它似乎通过DROPing和重新创建存储过程来解决.今天,这个技巧似乎没有奏效.:(
有趣的是,如果我复制存储过程的主体并将其作为简单的查询执行,它会很快完成.事实上,这是一个存储过程会减慢它的速度......!
有谁知道问题可能是什么?我已经搜索了答案,但他们经常建议通过查询分析器运行它,但我没有 - 我现在正在使用SQL Server 2008 Express.
存储过程如下;
ALTER PROCEDURE [dbo].[spGetPOIs]
@lat1 float,
@lon1 float,
@lat2 float,
@lon2 float,
@minLOD tinyint,
@maxLOD tinyint,
@exact bit
AS
BEGIN
-- Create the query rectangle as a polygon
DECLARE @bounds geography;
SET @bounds = dbo.fnGetRectangleGeographyFromLatLons(@lat1, @lon1, @lat2, @lon2);
-- Perform the selection
if (@exact = 0)
BEGIN
SELECT [ID], [Name], [Type], [Data], [MinLOD], [MaxLOD], [Location].[Lat] AS [Latitude], [Location].[Long] AS [Longitude], [SourceID]
FROM [POIs]
WHERE
NOT ((@maxLOD [MaxLOD])) AND
(@bounds.Filter([Location]) = 1)
END … 我在脚本中这样做:
read direc <<< $(basename `pwd`)
Run Code Online (Sandbox Code Playgroud)
我得到:
Syntax error: redirection unexpected
Run Code Online (Sandbox Code Playgroud)
在ubuntu机器上
/bin/bash --version
GNU bash, version 4.0.33(1)-release (x86_64-pc-linux-gnu)
Run Code Online (Sandbox Code Playgroud)
虽然我没有在另一台suse机器上得到这个错误:
/bin/bash --version
GNU bash, version 3.2.39(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)
为什么错误?
我有一个具有非接口依赖的构造函数:
public MainWindowViewModel(IWorkItemProvider workItemProvider, WeekNavigatorViewModel weekNavigator)
Run Code Online (Sandbox Code Playgroud)
我正在使用Moq.Contrib automockcontainer.如果我尝试自动锁定MainWindowViewModel类,由于WeekNavigatorViewModel依赖项,我收到错误.
是否有任何automocking容器支持非接口类型的模拟?
正如马克在下面所示; 是的你可以!:-)我将Moq.Contrib AutoMockContainer替换为Mark在他的答案中提出的东西,唯一的区别是自动生成的模拟被注册为单例,但你可以使这个可配置.这是最终的解决方案:
/// <summary>
/// Auto-mocking factory that can create an instance of the
/// class under test and automatically inject mocks for all its dependencies.
/// </summary>
/// <remarks>
/// Mocks interface and class dependencies
/// </remarks>
public class AutoMockContainer
{
readonly IContainer _container;
public AutoMockContainer(MockFactory factory)
{
var builder = new ContainerBuilder();
builder.RegisterSource(new AnyConcreteTypeNotAlreadyRegisteredSource());
builder.RegisterSource(new MoqRegistrationSource(factory));
_container = builder.Build();
}
/// <summary>
/// Gets or creates a mock …Run Code Online (Sandbox Code Playgroud) 处理我试图通过HttpWebResponse在我的应用程序中下载的数据时遇到了很大的问题.我的代码看起来像这样:
myWebRequest.Timeout = 10000;
using (HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse())
{
using (Stream ReceiveStream = myWebResponse.GetResponseStream())
{
Encoding encode = Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(ReceiveStream, encode);
// Read 1024 characters at a time.
Char[] read = new Char[1024];
int count = readStream.Read(read, 0, 1024);
int break_counter = 0;
while (count > 0 && break_counter < 10000)
{
String str = new String(read, 0, count);
buffer += str;
count = readStream.Read(read, 0, 1024);
break_counter++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
此代码在分离的线程中的几个实例中运行,因此调试有点困难.问题是这种方法卡住了,我把它归咎于与数据的连接不良.
正如您所看到的,我已经设置了超时,并且希望代码在超时时间到期后才会终止.它不是!至少不是所有的时间.有时我得到一个WebException/Timeout但有几次它只是卡住了.
什么是超时?什么时候打电话?让我们说HttpWebResponse开始接收数据,但它在传输过程中卡在某处.我有超时吗?对我来说,看起来我没有,因为我的应用程序也被卡住了,并且没有引发超时异常.
我可以做些什么来修补此问题,或者如何获得有关此处出现问题的更多信息?
我用这些行定义了一个自定义文件类型:
syn region SubSubtitle start=+=+ end=+=+
highlight SubSubtitle ctermbg=black ctermfg=DarkGrey
syn region Subtitle start=+==+ end=+==+
highlight Subtitle ctermbg=black ctermfg=DarkMagenta
syn region Title start=+===+ end=+===+
highlight Title ctermbg=black ctermfg=yellow
syn region MasterTitle start=+====+ end=+====+
highlight MasterTitle cterm=bold term=bold ctermbg=black ctermfg=LightBlue
Run Code Online (Sandbox Code Playgroud)
我将所有标题都附在这样的文件中:
==== Biggest Heading ==== // this will be bold and light blue
===Sub heading === // this will be yellow
bla bla bla // this will be normally formatted
Run Code Online (Sandbox Code Playgroud)
但是现在,当我在代码中使用等号时,它认为它是一个标题.反正我是否可以强迫比赛只在一条线上?
我的Bash脚本中的以下行
echo $AAAA" "$DDDD" "$MOL_TAG >> ${OUPUT_RESULTS}
Run Code Online (Sandbox Code Playgroud)
给我这个错误:
line 46: ${OUPUT_RESULTS}: ambiguous redirect
Run Code Online (Sandbox Code Playgroud)
为什么?
如果附加属性发生变化,有没有办法获得变更通知?
一个简单的例子是一个Canvas与Rectangle在它.Rectange使用DepenendyProperties Canvas.Top和设置的位置Canvas.Left.我正在使用一个Adorner通过改变Canvas.Top和来移动矩形Canvas.Left.
<Canvas Width="500" Height="500" >
<Rectangle Width="40" Height="40" Canvas.Left="10" Canvas.Top="20" />
</Canvas>
Run Code Online (Sandbox Code Playgroud)
下一步是在两者之间创建一个箭头Rectangles.为了跟踪移动Rectangles,每当一个位置发生变化时,箭头必须得到一个变化通知Rectangle.如果我可以在附加属性Canvas.Top更改时获得更改通知,这将很容易.
谢谢你的帮助,迈克尔
.NET MemoryStream似乎没有.Reset或.Clear方法.
我正在考虑使用以下代码来完成此任务:
ms.Seek(0, IO.SeekOrigin.Begin)
ms.SetLength(0)
Run Code Online (Sandbox Code Playgroud)
清除或重置现有.NET MemoryStream的正确方法是什么?