{"id":"https://openalex.org/W2294635146","doi":"https://doi.org/10.1109/ms.2002.1003449","title":"Mock objects","display_name":"Mock objects","publication_year":2002,"publication_date":"2002-05-01","ids":{"openalex":"https://openalex.org/W2294635146","doi":"https://doi.org/10.1109/ms.2002.1003449","mag":"2294635146"},"language":"en","primary_location":{"id":"doi:10.1109/ms.2002.1003449","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ms.2002.1003449","pdf_url":null,"source":{"id":"https://openalex.org/S6725529","display_name":"IEEE Software","issn_l":"0740-7459","issn":["0740-7459","1937-4194"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Software","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103069565","display_name":"D. A. Thomas","orcid":"https://orcid.org/0000-0003-1864-5344"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"D. Thomas","raw_affiliation_strings":["USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5061621593","display_name":"Adrian Hunt","orcid":"https://orcid.org/0000-0002-5283-9647"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"A. Hunt","raw_affiliation_strings":["USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"USA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.5947,"has_fulltext":false,"cited_by_count":45,"citation_normalized_percentile":{"value":0.79182156,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"19","issue":"3","first_page":"22","last_page":"24"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9904000163078308,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9904000163078308,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9889000058174133,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13293","display_name":"Engineering and Test Systems","score":0.9746999740600586,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7846730947494507},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.7009693384170532},{"id":"https://openalex.org/keywords/unit-testing","display_name":"Unit testing","score":0.6304214000701904},{"id":"https://openalex.org/keywords/sort","display_name":"sort","score":0.6019927859306335},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.5119346380233765},{"id":"https://openalex.org/keywords/isolation","display_name":"Isolation (microbiology)","score":0.5112564563751221},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.483280211687088},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2427118420600891},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.15527835488319397},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.1310848593711853},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.12246119976043701}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7846730947494507},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.7009693384170532},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.6304214000701904},{"id":"https://openalex.org/C88548561","wikidata":"https://www.wikidata.org/wiki/Q347599","display_name":"sort","level":2,"score":0.6019927859306335},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.5119346380233765},{"id":"https://openalex.org/C2775941552","wikidata":"https://www.wikidata.org/wiki/Q25212305","display_name":"Isolation (microbiology)","level":2,"score":0.5112564563751221},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.483280211687088},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2427118420600891},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.15527835488319397},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.1310848593711853},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.12246119976043701},{"id":"https://openalex.org/C89423630","wikidata":"https://www.wikidata.org/wiki/Q7193","display_name":"Microbiology","level":1,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/ms.2002.1003449","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ms.2002.1003449","pdf_url":null,"source":{"id":"https://openalex.org/S6725529","display_name":"IEEE Software","issn_l":"0740-7459","issn":["0740-7459","1937-4194"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Software","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","score":0.46000000834465027,"display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2361805396","https://openalex.org/W2972254340","https://openalex.org/W2615173508","https://openalex.org/W1805912688","https://openalex.org/W4255476312","https://openalex.org/W2373973507","https://openalex.org/W2022231341","https://openalex.org/W4250902763","https://openalex.org/W2351154965","https://openalex.org/W2041503010"],"abstract_inverted_index":{"One":[0],"thing":[1],"that":[2,28,48,65,74,103,130],"makes":[3],"unit-testing":[4],"code":[5,23,47,120],"so":[6],"hard":[7],"is":[8,99],"the":[9,11,40,109,143],"way":[10],"real":[12,41],"world":[13,42],"keeps":[14],"intruding.":[15],"If":[16],"all":[17,81,125],"we":[18,43],"had":[19],"to":[20,45,61,63,77,83],"do":[21],"was":[22],"up":[24],"tests":[25,87],"for":[26],"methods":[27],"sort":[29],"arrays":[30],"or":[31,70],"generate":[32,78],"Fibonacci":[33],"series,":[34],"life":[35],"would":[36,131],"be":[37],"easy.":[38],"In":[39],"have":[44,60],"test":[46,119],"uses":[49],"databases,":[50],"communications":[51],"devices,":[52],"user":[53],"interfaces,":[54],"and":[55],"external":[56],"applications.":[57],"We":[58],"might":[59],"interface":[62],"devices":[64],"are":[66,75],"not":[67],"yet":[68],"available":[69],"simulate":[71],"network":[72],"errors":[73],"impossible":[76],"locally.":[79],"This":[80],"conspires":[82],"stop":[84],"our":[85],"unit":[86],"from":[88],"being":[89],"neat,":[90],"self-contained":[91],"(and":[92],"orthogonal)":[93],"chunks":[94],"of":[95,111,145],"code.":[96],"Fortunately":[97],"there":[98],"a":[100],"testing":[101,135,141],"pattern":[102],"can":[104,118,149],"help.":[105],"The":[106],"authors":[107],"consider":[108],"use":[110],"mock":[112,115,147],"objects.":[113],"With":[114],"objects":[116,148],"you":[117],"in":[121],"splendid":[122],"isolation,":[123],"simulating":[124],"those":[126],"messy":[127],"real-world":[128],"things":[129],"otherwise":[132],"make":[133],"automated":[134],"impossible.":[136],"As":[137],"with":[138],"many":[139],"other":[140],"practices,":[142],"discipline":[144],"using":[146],"improve":[150],"your":[151],"code's":[152],"structure.":[153]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":5},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2026-08-11T07:18:39.950985","created_date":"2016-06-24T00:00:00"}
