经过一些测试后,我确信我的设置(窗口,rubymine和最新的ruby版本)都有问题.我现在的时代是:
Finished tests in 14.289817s, 0.0700 tests/s, 0.3499 assertions/s.
1 tests, 5 assertions, 0 failures, 0 errors, 0 skips
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
有5个非常简单的测试(只检查空字段上的验证是否有效).这5个单元测试的总时间为160秒,超过2分钟.
我该怎么做才能提高这个速度?
以下是测试:
require 'test_helper'
class ItemTest < ActiveSupport::TestCase
test 'item attributes must not be empty' do
item = Item.new
assert item.invalid?
assert item.errors[:name].any?
assert item.errors[:description].any?
assert item.errors[:image_url].any?
assert item.errors[:rating].any?
end
end
Run Code Online (Sandbox Code Playgroud) 我正在使用Nokogiri修改现有的XML,但我在选择某些节点时遇到问题.
以下是XML的相关片段:
<ProductCatalog>
<ProductLineItem>
<updi:ProductIdentification>
<updi:ProductName>800-22283-03</updi:ProductName>
Run Code Online (Sandbox Code Playgroud)
我可以找到下面两个节点:
doc.xpath("//updi:ProductIdentification") => #<Nokogiri::XML...
doc.xpath("//updi:ProductName") => #<Nokogiri::XML...
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试选择其中一个上层节点:
doc.xpath("//ProductLineItem") => []
Run Code Online (Sandbox Code Playgroud)
我找回了一个空阵列.它似乎与前缀有关.我可以找到任何具有前缀的元素,但找不到没有前缀的元素.
更新:这是(相当冗长的)命名空间:
xsi:schemaLocation="urn:rosettanet:specification:interchange:ProductCatalogInformationDistribution:xsd:schema:01.00 ..\..\XML\Interchange\ProductCatalogInformationDistribution_01_00.xsd"
xmlns:dplcs="urn:rosettanet:specification:domain:Design:ProductLifeCycleStatusCode:xsd:codelist:01.03"
xmlns:rrt="urn:rosettanet:specification:domain:Shared:RateType:xsd:codelist:01.01"
xmlns:dl="urn:rosettanet:specification:domain:Logistics:xsd:schema:02.15"
xmlns:ictc="urn:rosettanet:specification:domain:Design:CatalogType:xsd:codelist:01.00"
xmlns:updi="urn:rosettanet:specification:universal:ProductIdentification:xsd:schema:01.04"
xmlns:dddt="urn:rosettanet:specification:domain:Design:DateType:xsd:codelist:01.00"
xmlns:dsdc="urn:rosettanet:specification:domain:Logistics:ShipDateCode:xsd:codelist:01.03"
xmlns:ucr="urn:rosettanet:specification:universal:Currency:xsd:codelist:01.02"
xmlns:dpiac="urn:rosettanet:specification:domain:Logistics:PortIdentifierAuthorityCode:xsd:codelist:01.03"
xmlns:rptc="urn:rosettanet:specification:domain:Shared:PricingTypeCode:xsd:codelist:01.03"
xmlns:dit="urn:rosettanet:specification:domain:Procurement:InventoryType:xsd:codelist:01.03"
xmlns:dtt="urn:rosettanet:specification:domain:Procurement:TransactionType:xsd:codelist:01.04"
xmlns:upd="urn:rosettanet:specification:universal:PhysicalDimension:xsd:schema:01.05"
xmlns:dcst="urn:rosettanet:specification:domain:Logistics:CustomsType:xsd:codelist:01.03"
xmlns:dsd="urn:rosettanet:specification:domain:Logistics:ShippingDocument:xsd:codelist:01.02"
xmlns:uci="urn:rosettanet:specification:universal:ContactInformation:xsd:schema:01.03"
xmlns:dpcm="urn:rosettanet:specification:domain:Procurement:PurchaseMethod:xsd:codelist:01.03"
xmlns:rpsc="urn:rosettanet:specification:domain:Shared:ProductStatusCode:xsd:codelist:01.01"
xmlns:dgrc="urn:rosettanet:specification:domain:Marketing:GeographicRegionCode:xsd:codelist:01.02"
xmlns:dtrt="urn:rosettanet:specification:domain:Logistics:TrackingReferenceType:xsd:codelist:01.06"
xmlns:umtq="urn:rosettanet:specification:universal:MimeTypeQualifier:xsd:codelist:01.02"
xmlns:dcrt="urn:rosettanet:specification:domain:Procurement:CustomerType:xsd:codelist:01.03"
xmlns:dscd="urn:rosettanet:specification:domain:Logistics:ShipmentChangeDisposition:xsd:codelist:01.03"
xmlns:uc="urn:rosettanet:specification:universal:Country:xsd:codelist:01.02"
xmlns="urn:rosettanet:specification:interchange:ProductCatalogInformationDistribution:xsd:schema:01.00"
xmlns:dpc="urn:rosettanet:specification:domain:Procurement:PaymentCondition:xsd:codelist:01.03"
xmlns:rpmt="urn:rosettanet:specification:domain:Shared:PaymentType:xsd:codelist:01.01"
xmlns:dft="urn:rosettanet:specification:domain:Procurement:FinanceTerms:xsd:codelist:01.03"
xmlns:dtq="urn:rosettanet:specification:domain:Procurement:TotalQualifier:xsd:codelist:01.03"
xmlns:ume="urn:rosettanet:specification:universal:MonetaryExpression:xsd:schema:01.04"
xmlns:dcp="urn:rosettanet:specification:domain:Design:Compliant:xsd:codelist:01.02"
xmlns:drsc="urn:rosettanet:specification:domain:Marketing:RegistrationStatusCode:xsd:codelist:01.03"
xmlns:uat="urn:rosettanet:specification:universal:AbstractType:xsd:schema:01.02"
xmlns:dp="urn:rosettanet:specification:domain:Procurement:xsd:schema:02.17"
xmlns:rpm="urn:rosettanet:specification:domain:Shared:PaymentMethod:xsd:codelist:01.02"
xmlns:dfrt="urn:rosettanet:specification:domain:Procurement:ForecastReferenceType:xsd:codelist:01.03"
xmlns:dtec="urn:rosettanet:specification:domain:Procurement:TaxExemptionCode:xsd:codelist:01.03"
xmlns:ulc="urn:rosettanet:specification:universal:Locations:xsd:schema:01.04"
xmlns:dccc="urn:rosettanet:specification:domain:Procurement:CreditCardClassification:xsd:codelist:01.03"
xmlns:drlc="urn:rosettanet:specification:domain:Logistics:ReturnLabelCode:xsd:codelist:01.03"
xmlns:st="http://www.ascc.net/xml/schematron"
xmlns:dnecc="urn:rosettanet:specification:domain:Logistics:NationalExportControlClassification:xsd:codelist:01.03"
xmlns:rpktc="urn:rosettanet:specification:domain:Shared:PackageTypeCode:xsd:codelist:01.01"
xmlns:uwt="urn:rosettanet:specification:universal:WeightType:xsd:codelist:01.01"
xmlns:dfpt="urn:rosettanet:specification:domain:Logistics:FreightPaymentTerms:xsd:codelist:01.03"
xmlns:dte="urn:rosettanet:specification:domain:Procurement:TransportEvent:xsd:codelist:01.03"
xmlns:ul="urn:rosettanet:specification:universal:Language:xsd:codelist:01.02"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dbpq="urn:rosettanet:specification:domain:Procurement:BookPriceQualifier:xsd:codelist:01.04"
xmlns:drl="urn:rosettanet:specification:domain:Logistics:RouteLocation:xsd:codelist:01.03"
xmlns:ssdh="urn:rosettanet:specification:system:StandardDocumentHeader:xsd:schema:01.16"
xmlns:dmk="urn:rosettanet:specification:domain:Marketing:xsd:schema:02.12"
xmlns:rmat="urn:rosettanet:specification:domain:Shared:MonetaryAmountType:xsd:codelist:01.01"
xmlns:uuom="urn:rosettanet:specification:universal:UnitOfMeasure:xsd:codelist:01.03"
xmlns:dfe="urn:rosettanet:specification:domain:Procurement:ForecastEvent:xsd:codelist:01.03"
xmlns:dst="urn:rosettanet:specification:domain:Procurement:ShipmentTerms:xsd:codelist:01.03"
xmlns:udt="urn:rosettanet:specification:universal:DataType:xsd:schema:01.04"
xmlns:dacc="urn:rosettanet:specification:domain:Procurement:AccountClassification:xsd:codelist:01.03"
xmlns:dptt="urn:rosettanet:specification:domain:Logistics:PortType:xsd:codelist:01.03" …Run Code Online (Sandbox Code Playgroud)